Heim >Backend-Entwicklung >Golang >go: Felddefinition anderer Teile als Name und Typ
php-Editor Yuzai stellt Ihnen „go: Felddefinitionen für andere Teile als Name und Typ“ vor. In der Go-Sprache können zusätzlich zum Namen und Typ des Feldes weitere Attribute und Beschriftungen für das Feld definiert werden. Sie können die Sichtbarkeit und den Zugriff eines Felds steuern, indem Sie ihm Eigenschaften hinzufügen. Durch das Hinzufügen von Tags zu Feldern können Sie den Feldern zusätzliche Metadaten hinzufügen, um die Eigenschaften der Felder zu beschreiben. Diese Felddefinitionen können in Strukturen verwendet werden und bieten mehr Flexibilität und Skalierbarkeit für den Programmentwurf und die Implementierung.
Ich habe diese Strukturdefinition gesehen:
type Resource struct { Attrs []Attribute `parquet:",list"` ServiceName string `parquet:",snappy,dict"` Cluster *string `parquet:",snappy,optional,dict"` .... }
Ich verstehe die ersten beiden Teile der Felddefinition (Name, Typ). Aber was bedeutet dieser letzte Teil? Gefällt mir
parquet:",snappy,dict"
parquet:",snappy,dict"
反引号中的文本描述了可以通过反射访问的 Go 结构标记(请参阅 reflect.StructTag
Workaround
Der Text in Backticks beschreibt Go-Struktur-Tags, auf die über Reflektion zugegriffen werden kann (siehe reflect.StructTag
encoding/json
的结构标记的使用对于 Marshal
和 Unmarshal
für Details).
encoding/json
ist nützlich für Marshal <p> und <code>Unmarshal
Funktion. github.com/segmentio/parquet 有关-go
Ihr Beispiel scheint mit dem Paket zu funktionieren. Es enthält eine kurze Dokumentation darüber, wie das Paket Struktur-Tags interpretiert
.snappy
dict
Spalten mit Snappy-Komprimierung kodieren
可选
. list
gibt an, dass die Spalte „Parkett“ optional ist. Das obige ist der detaillierte Inhalt vongo: Felddefinition anderer Teile als Name und Typ. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!