Champs Struct balisés dans Go
Dans Go, les champs struct peuvent être accompagnés de chaînes littérales appelées « tags ». Cette syntaxe est couramment rencontrée avec les bibliothèques qui nécessitent des métadonnées pour la sérialisation ou à d'autres fins.
Par exemple, dans le pilote mgo MongoDB, les champs de structure peuvent être balisés pour indiquer leur ID d'objet correspondant dans MongoDB :
type Something struct { Id bson.ObjectId "_id,omitempty" Name string }
Ici, le premier champ Id est déclaré comme un type bson.ObjectId avec la chaîne littérale "_id,omitempty". Cette chaîne représente le champ ID d'objet dans MongoDB.
La spécification Go explique que ces balises sont accessibles via l'interface de réflexion et sont autrement ignorées. Cela permet aux bibliothèques d'extraire des informations des balises sans affecter le comportement réel du champ.
Voici un exemple tiré de la spécification du langage :
struct { microsec uint64 "field 1" serverIP6 uint64 "field 2" process string "field 3" }
Dans cet exemple, les champs sont balisés avec un tampon de protocole numéros de champs. Ces informations peuvent être utilisées lors de l'interaction avec les services de tampon de protocole.
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!