Tags de structure Golang

Tags de structure Golang
Une structure fait référence à une entité nommée avec des champs, chacun avec son nom et son type. Les structures sont utiles lorsque vous devez définir des types personnalisés.

Un exemple de structure dans le programme GO est fourni ci-dessous:

Tapez user struct
id int
chaîne de noms
Âge int

L'exemple précédent montre une structure explicite où les champs appartiennent à cette structure spécifique.

Vous pouvez également déclarer une structure implicite où les champs sont déclarés dans une autre structure. Ceux-ci sont également connus sous le nom de structures intégrées.

Un exemple est indiqué ci-dessous:

Tapez user struct
id int
chaîne de noms
Âge int

type développeur struct
Utilisateur
salaire int

Dans cet exemple précédent, la structure du développeur accède aux champs de la structure utilisateur.

Tags de structure

Dans les programmes Go, vous pouvez ajouter un littéral de chaîne en option à un champ de structure. Ceci est connu comme une étiquette de structure. Il est utilisé pour maintenir des méta-informations pour un champ de structure. Vous pouvez ensuite exporter les informations dans le champ vers d'autres packages pour exécuter une opération ou structurer les données de manière appropriée.

Vous trouverez souvent des balises dans des packages d'encodage, tels que XML, JSON, YAML, ORMS et Config Management.

Pour déclarer une balise pour un champ de structure, vous pouvez transmettre la paire de valeurs de clé à l'intérieur de la chaîne de navette littérale comme «clé: valeur». Pour ajouter plus d'une balise, séparez chaque balise en utilisant un espace.

Voici l'exemple suivant:

Tapez user struct
id int
Nom String 'Max: "10"'
Âge int "

Tags de structure et package de réflexion

Pour accéder et utiliser des balises struct, vous aurez besoin du package de réflexion. Il fait partie de la bibliothèque GO Standard, et vous pouvez l'importer avec la clause:

importer "refléter"

Il fournit les méthodes GET et de recherche pour fonctionner avec des balises.

Pour vérifier si la balise se trouve dans un champ, nous pouvons utiliser la méthode de recherche. Un exemple de code est fourni ci-dessous:

package principal
importer (
"FMT"
"refléter"
)
Tapez user struct
id int
Nom String 'Max: "10"'
Âge int "

func main ()
u: = utilisateur 1, "Jane Doe", 34
t: = refléter.Typeof (u)
pour i: = 0; je < t.NumField(); i++
F: = T.Champ (i)
Si _, ok: = f.Étiqueter.Lookup ("Max"); d'accord
fmt.Println ("Tag Found")
autre
fmt.Println ("tag non trouvé")


L'exemple de code précédent bouclera sur les champs de la structure et vérifiera si la balise spécifiée est trouvée dans le champ.

Pour obtenir le champ avec la balise spécifiée, nous pouvons effectuer ce qui suit:

package principal
importer (
"FMT"
"refléter"
)
Tapez user struct
id int
Nom String 'Max: "10"'
Âge int "

func main ()
u: = utilisateur 1, "Jane Doe", 34
t: = refléter.Typeof (u)
pour i: = 0; je < t.NumField(); i++
fmt.Println (t.Champ (i).Nom)
fmt.Println (t.Champ (i).Étiqueter.Get ("max"))

Conclusion

Cet article couvre les principes fondamentaux du travail et de l'utilisation des balises struct et du package de réflexion. De plus, la définition et la nature des structures ont été discutées. Nous espérons que vous avez trouvé cet article utile. Découvrez d'autres articles sur les conseils pour plus de conseils et de tutoriels.