標籤

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