from https://zhuanlan.zhihu.com/p/41418726

 

1. 对nil map, nil slice 添加数据必然失败

var m []string

var n map[string]string

m["name"] = "zzz"   // 出错

因为仅仅声明的话,map是nil的

 

所以一般这么创建map

m:=make(map[string]string)

或者

m:=map[string]string{}

 

2. 对:=的使用, 感觉这个有点过于特别了,一般情况下不会这么使用局部变量

 

3. 值传递与引用传递

for rangearrayslicemapwhoIsDeadfor rangepeoplepersonp

所以如果需要修改到原变量,需要传递struct指针

struct是值类型的数据,要使用指针去操作它