GO vous permet de créer et d'utiliser des structures à l'aide de types intégrés ou définis par l'utilisateur.
Ce guide fera un voyage et explorera comment les structures fonctionnent dans le langage de programmation Go.
Déclarant une structure
La syntaxe ci-dessous montre comment créer une structure en Go:
TypeSTURT_NAMESTRUCTNous commençons par appeler le mot-clé type. Vient ensuite le nom de la structure. Le nom de la structure peut être défini par l'utilisateur (tant qu'il suit les règles de dénomination en Go). Nous utilisons ensuite le mot-clé struct, suivi d'une paire de bretelles bouclées.
À l'intérieur des accolades, nous définissons divers champs qui composent la structure. Le nom du champ est suivi par son type de données.
Declare Struct - Exemple
L'exemple de code ci-dessous définit une structure appelée employé. Il contient 5 champs avec divers types de données.
TypeEmployee StructCe qui précède crée une structure d'employée contenant des champs de différents types.
Remarque: Si vous souhaitez exporter la structure et ses champs vers d'autres packages, assurez-vous que les noms commencent par des lettres majuscules. Sinon, la portée est limitée à ce package.
Instanciation de structure
Définir une structure signifie que nous créons seulement un plan. Pour créer un objet hors de la structure, nous devons en créer une instance.
Pour créer une instance d'une classe en Go, commencez par le mot-clé var suivi du nom de l'instance.
L'exemple ci-dessous crée une instance de la structure des employés.
Employé Var EMPUne fois que nous avons créé une instance de la structure, nous pouvons accéder aux champs en utilisant la notation de points comme indiqué:
Employé Var EMPUne fois que nous avons défini les champs de l'Instace, nous pouvons l'imprimer comme:
fmt.Println (emp)Les extraits de l'extrait ci-dessus:
$ go Run Struct.allerInstanciation structure - littéral
Vous pouvez également créer une instance d'une structure en utilisant la méthode littérale struct. L'exemple ci-dessous montre utilise la structure littérale pour créer une instance d'une structure.
var emp1 = employé "Mary A", 26, false, "développeur de jeu", 150000.dixL'exemple ci-dessus crée une instance de la classe et définit les champs sans utiliser la note de point.
Instanciation struct - nouveau mot-clé
Si vous ne souhaitez pas définir les valeurs pendant la création d'instance, vous pouvez utiliser le nouveau mot-clé. Par exemple:
var emp2 = nouveau (employé)Une fois créé, nous pouvons accéder aux champs d'instance et définir des valeurs comme:
EMP2.Name = "Judy L"Champs de structure d'accès
Pour accéder aux champs d'une structure, allez nous fournir l'opérateur de points. Nous commençons par le nom de l'instance de structure puis le nom du champ.
Par exemple, pour obtenir le nom de l'EMP2, nous pouvons faire:
fmt.Println (emp2.Nom)Cela devrait renvoyer la valeur stockée par le champ spécifié.
Méthodes de structure
Nous pouvons également ajouter une méthode à une structure en utilisant le récepteur de méthode. Considérez l'exemple ci-dessous qui crée une méthode pour la structure des employés.
func (e employee) info () StringUne fois la méthode déclarée, nous pouvons créer une instance et définir les champs comme:
employé var eEnfin, nous pouvons appeler la méthode comme:
fmt.Println (e.Info())Lors de l'appel de la méthode, nous devons obtenir une sortie comme:
Nom: Thomas JType de champ de structure
Vous pouvez découvrir le type de champ en utilisant le package de réflexion. Par exemple, pour obtenir le type du champ retraité, nous pouvons faire:
fmt.Println (réfléchir.Typeof (e.À la retraite))Le code ci-dessus renvoie le type de champ comme:
::sortirComparaison de structure
Vous pouvez vérifier si une structure est égale à une autre en utilisant l'opérateur de comparaison. Notez qu'une structure est définie comme égale si tous les champs ont une valeur égale.
Remarque: tous les types de données ne sont pas comparables.
L'exemple ci-dessous crée deux structures et les compare en utilisant l'opérateur ==.
…Étant donné que les structures ne sont pas égales, le bloc else est exécuté.
INDICE: Les valeurs vides et zéro sont considérées comme égales.
Conclusion
phew!
C'était un tutoriel exceptionnel sur le travail avec des structures dans Go Lang. Ce tutoriel, cependant, ne couvre que les bases. Il y a beaucoup plus d'opérations que vous pouvez faire avec les structures.
Continuez à pratiquer et consultez nos tutoriels Go pour en savoir plus.