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是值类型的数据,要使用指针去操作它