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!