golang 使用struct的tag属性
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
当golang的对象需要和json做转换的时候,我们就经常用到这个特性。
有两点注意的地方:
1.如果一个域不是以大写字母开头的,那么转换成json的时候,这个域是被忽略的。
2.如果没有使用json:"name"tag,那么输出的json字段名和域名是一样的。
总结一下,json:"name"格式串是用来指导json.Marshal/Unmarshal,在进行json串和golang对象之间转换的时候映射字段名使用的。