標籤
結構欄位可以具有與之關聯的標籤。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 標籤在整個標準庫中使用。