Heim >Backend-Entwicklung >Golang >go: Felddefinition anderer Teile als Name und Typ

go: Felddefinition anderer Teile als Name und Typ

PHPz
PHPznach vorne
2024-02-09 09:39:191088Durchsuche

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.

Frageninhalt

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.StructTagWorkaround

Der Text in Backticks beschreibt Go-Struktur-Tags, auf die über Reflektion zugegriffen werden kann (siehe reflect.StructTagencoding/json 的结构标记的使用对于 MarshalUnmarshal für Details).

Diese Tags werden typischerweise von Codes verwendet, die in verschiedene Formate ein-/auslagern – normalerweise beschreiben sie, wie ein Feld dekodiert oder kodiert werden soll. Die Verwendung von Struktur-Tags von 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

.
  • Besonders: snappy
  • dict Spalten mit Snappy-Komprimierung kodieren
  • Aktivieren Sie Dict-codierte Dateien mit
  • Parquet可选.
  • list gibt an, dass die Spalte „Parkett“ optional ist.
🎜 gibt an, dass der logische Typ Parkettliste verwendet werden soll. 🎜 🎜

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen