Go 标签
示例
结构字段可以具有与之关联的标签。reflect程序包可以读取这些标签,以获取开发人员为某个字段指定的自定义信息。
struct Account { Username string `json:"username"` DisplayName string `json:"display_name"` FavoriteColor string `json:"favorite_color,omitempty"` }
在以上示例中,标记用于更改encoding/json封送或取消封送JSON时程序包使用的键名。
尽管标签可以是任何字符串值,但是使用空格分隔的key:"value"对被认为是最佳实践:
struct StructName { FieldName int `package1:"customdata,moredata" package2:"info"` }
encoding/xml和encoding/json包一起使用的struct标记在整个标准库中都使用。