Maison  >  Article  >  développement back-end  >  Comment initialiser les variables membres d'une structure en langage Go

Comment initialiser les variables membres d'une structure en langage Go

青灯夜游
青灯夜游original
2021-06-07 15:31:213367parcourir

Méthode d'initialisation : 1. Utilisez l'instruction "ins := structure type name {field 1 : value, field 2 : value,...}" pour initialiser, ce qui convient pour remplir sélectivement des structures avec de nombreux champs. ; 2. Utilisez l'instruction "ins := structure type name {value of field 1, value of field 2,...}" pour initialiser, ce qui convient aux structures avec moins de champs.

Comment initialiser les variables membres d'une structure en langage Go

L'environnement d'exploitation de ce tutoriel : système Windows 10, GO 1.11.2, ordinateur Dell G3.

La structure peut initialiser directement les variables membres lors de son instanciation. Il existe deux formes d'initialisation : la forme de champ "paire clé-valeur" et une forme de liste de valeurs multiples. approprié Remplir sélectivement les structures avec plus de champs. Le formulaire de liste de valeurs multiples convient aux structures avec moins de champs.

Utilisez une "paire clé-valeur" pour initialiser la structure

La structure peut utiliser une "paire clé-valeur" (paire clé-valeur) pour initialiser les champs. Chaque "clé" (Key) correspond à un champ dans la structure, et la "valeur" (Value) de la clé correspond à la valeur que le champ doit être initialisé.

Le remplissage des paires clé-valeur est facultatif et les champs qui ne nécessitent pas d'initialisation n'ont pas besoin d'être renseignés dans la liste d'initialisation.

La valeur par défaut du champ après l'instanciation de la structure est la valeur par défaut du type de champ, par exemple, la valeur est 0, la chaîne est "" (chaîne vide), le booléen est faux, le le pointeur est nul, etc.

1) Format d'écriture de la structure d'initialisation de la paire clé-valeur

Le format d'initialisation de la paire clé-valeur est le suivant :

ins := 结构体类型名{
    字段1: 字段1的值,
    字段2: 字段2的值,
    …
}

Ce qui suit est une description de chaque partie Description :

  • Type de structure : Le nom du type lors de la définition de la structure.

  • Champ 1, champ 2 : noms de champs des membres de la structure, les noms de champs ne peuvent apparaître qu'une seule fois dans la liste d'initialisation des champs des noms de types de structure.

  • La valeur du champ 1, la valeur du champ 2 : la valeur initiale du champ membre de la structure.

Les valeurs-clés sont séparées par : et les paires clé-valeur sont séparées par ,.

2) Exemple d'utilisation de paires clé-valeur pour remplir une structure

L'exemple suivant décrit la relation entre les personnages de la famille, tout comme la chanson pour enfants : " Le papa de papa est "Grand-père", les enfants à plusieurs niveaux peuvent être utilisés pour décrire et établir des relations entre les personnages. Le code pour remplir la structure à l'aide de paires clé-valeur est le suivant :

type People struct {
    name  string
    child *People
}
relation := &People{
    name: "爷爷",
    child: &People{
        name: "爸爸",
        child: &People{
                name: "我",
        },
    },
}

La description du code est la suivante. :

  • La ligne 1 définit la structure People.

  • Ligne 2, le champ chaîne de la structure.

  • Ligne 3, le champ de pointeur de structure de la structure, le type est *People.

  • Ligne 6, après que la relation ait pris l'adresse du type People, une instance de type *People est formée.

  • Ligne 8, lors de l'initialisation de l'enfant, il a besoin d'une valeur de type *People, et utilise l'adresse pour initialiser un People.

Conseil : les membres de la structure ne peuvent contenir que des types de pointeurs de la structure. Contenir des types non-pointeurs entraînera des erreurs de compilation.

Utiliser une liste de plusieurs valeurs pour initialiser la structure

Le langage Go peut ignorer la "clé" en fonction de la "clé -value pair" initialisation , c'est-à-dire que vous pouvez initialiser les champs d'une structure avec une liste de plusieurs valeurs.

1) Format d'écriture de la structure d'initialisation de liste de valeurs multiples

Utilisez des virgules pour séparer plusieurs valeurs dans la structure d'initialisation, par exemple :

ins := 结构体类型名{
    字段1的值,
    字段2的值,
    …
}

Utilisation Lors de l'initialisation de ce format, veuillez noter :

  • doit initialiser tous les champs de la structure.

  • L'ordre de remplissage de chaque valeur initiale doit être cohérent avec l'ordre de déclaration des champs dans la structure.

  • Les formes d'initialisation des paires clé-valeur et des listes de valeurs ne peuvent pas être mélangées.

2) Exemple de structure d'initialisation de liste de valeurs multiples

L'exemple suivant décrit une structure d'adresse, et les adresses doivent être dans un certain ordre. , par exemple :

type Address struct {
    Province    string
    City        string
    ZipCode     int
    PhoneNumber string
}
addr := Address{
    "四川",
    "成都",
    610000,
    "0",
}
fmt.Println(addr)

Exécutez le code, le résultat est le suivant :

{四川 成都 610000 0}

Apprentissage recommandé : Tutoriel Golang

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn