Go语言中的Strcut Tag
我们可以在struct中的每一个field后面添加一段额外的注释或者说明,来引导struct的encoding到某种格式中,这部分额外的注释说明,我们称之为struct中的field tag,比如:
type Person struct {
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
MiddleName string `json:"middle_name,omitempty"`
}
这里我们定义了一个名为Person的struct,使用tag来指定encoding到json后,各个field在json中的key名称,在最后一个field tag中,我们额外添加了额外的omitempty选项,指示在encoding成json时,如果MiddleName=="",那么encoding成json的时候忽略它。
文章来源: zhuanlan.zhihu.com/p/32279896