l'éditeur php Yuzai vous présente "go : définitions de champs de pièces autres que le nom et le type". Dans le langage Go, en plus du nom et du type du champ, d'autres attributs et labels peuvent être définis pour le champ. Vous pouvez contrôler la visibilité et l'accès à un champ en y ajoutant des propriétés. En ajoutant des balises aux champs, vous pouvez ajouter des métadonnées supplémentaires aux champs pour décrire les caractéristiques des champs. Ces définitions de champs peuvent être utilisées dans les structures, offrant ainsi plus de flexibilité et d'évolutivité pour la conception et la mise en œuvre des programmes.
J'ai vu cette définition de structure :
type Resource struct { Attrs []Attribute `parquet:",list"` ServiceName string `parquet:",snappy,dict"` Cluster *string `parquet:",snappy,optional,dict"` .... }
Je comprends les deux premières parties de la définition du champ (nom, type). Mais que signifie cette dernière partie ? J'aime
parquet:",snappy,dict"
parquet:",snappy,dict"
反引号中的文本描述了可以通过反射访问的 Go 结构标记(请参阅 reflect.StructTag
Solution de contournement
Le texte dans les backticks décrit les balises de structure Go accessibles via la réflexion (voir reflect.StructTag
encoding/json
的结构标记的使用对于 Marshal
和 Unmarshal
pour plus de détails).
encoding/json
est utile pour Marshal <p> et <code>Unmarshal
fonction. github.com/segmentio/parquet 有关-go
Votre exemple semble fonctionner avec le package . Il contient une brève documentation sur la façon dont le package interprète les balises de structure
.snappy
dict
Encodez les colonnes à l'aide de la compression Snappy
可选
. list
indique que la colonne Parquet est facultative. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!