Heim >Backend-Entwicklung >Golang >Wie kann ich in Go mehrere Namens-Tags für ein Strukturfeld definieren?

Wie kann ich in Go mehrere Namens-Tags für ein Strukturfeld definieren?

Linda Hamilton
Linda HamiltonOriginal
2024-12-08 00:29:19901Durchsuche

How Can I Define Multiple Name Tags for a Struct Field in Go?

Mehrere Namens-Tags in einer Struktur definieren

Wie Sie bereits bemerkt haben, müssen Sie möglicherweise mehrere Namens-Tags für ein Strukturfeld definieren unterstützt verschiedene Serialisierungsformate wie BSON und JSON. Das bereitgestellte Beispiel zeigt die Notwendigkeit, eine Struktur in JSON zu kodieren und dabei Feldnamen in Kleinbuchstaben beizubehalten, obwohl die BSON-Feldnamen Großbuchstaben sind.

Die Lösung für dieses Problem besteht darin, Tag-String-Trennzeichen durch Leerzeichen statt Kommas zu trennen. Die folgende Änderung an Ihrem Code wird das Problem beheben:

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"meta"`
}

Gemäß der Dokumentation des Reflect-Pakets sind Tag-Strings eine Verkettung von „key:‘value‘“-Paaren, die durch Leerzeichen getrennt sind. Jeder Schlüssel ist eine nicht leere Zeichenfolge, die keine Steuerzeichen, Leerzeichen, Anführungszeichen oder Doppelpunkte enthalten darf. Jeder Wert ist in doppelte Anführungszeichen gesetzt und folgt der Go-String-Literal-Syntax.

Das obige ist der detaillierte Inhalt vonWie kann ich in Go mehrere Namens-Tags für ein Strukturfeld definieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn