構造体での複数の名前タグの定義
これまでに遭遇したように、構造体フィールドに複数の名前タグを定義する必要がある場合があります。 BSON や JSON などのさまざまなシリアル化形式に対応します。提供された例は、BSON フィールド名が大文字であるにもかかわらず、小文字のフィールド名を維持しながら構造体を JSON にエンコードする必要性を示しています。
この問題の解決策は、タグ文字列区切り文字をカンマではなくスペースで区切ることです。コードを次のように変更すると、この問題が解決されます。
type Page struct { PageId string `bson:"pageId" json:"pageId"` Meta map[string]interface{} `bson:"meta" json:"meta"` }
reflect パッケージのドキュメントによると、タグ文字列はスペースで区切られた「key:'value'」ペアの連結です。各キーは空ではない文字列であり、制御文字、スペース、引用符、コロンを含めることはできません。各値は二重引用符で囲まれ、Go 文字列リテラル構文に従います。
以上がGo で構造体フィールドに複数の名前タグを定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。