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