Maison  >  Article  >  développement back-end  >  Modification de la structure du Golang

Modification de la structure du Golang

WBOY
WBOYoriginal
2023-05-13 11:22:37757parcourir

Golang est un langage compilé statiquement et sa structure est un type de données très utile. Dans Golang, les structures peuvent être utilisées pour décrire les propriétés et les méthodes d'une entité, peuvent stocker différents types de données et peuvent également être imbriquées avec d'autres structures pour créer des structures de données complexes. Cependant, lorsque nous utilisons des types de structure dans Golang, nous devons parfois les modifier. Cet article expliquera comment modifier les structures dans Golang.

1. Définition de la structure

En Golang, une structure peut être définie avec un ensemble de champs. Vous pouvez définir une structure avec deux champs (un de type int et un de type string) en utilisant le code suivant :

type Person struct {
    Age  int
    Name string
}

Dans cet exemple, nous définissons une structure appelée Person, qui comporte deux champs : Age et Name. Notez que les noms de champs de structure doivent commencer par une lettre majuscule. Ceci afin qu'ils puissent être exportés pour être utilisés dans d'autres packages.

2. Initialisation de la structure

Dans Golang, vous pouvez utiliser le code suivant pour initialiser la structure :

p := Person{Age: 18, Name: "John"}

De cette façon, un objet Personne nommé p est créé, son attribut Age est 18 et son attribut Name est " John".

3. Accès à la structure

Dans Golang, vous pouvez utiliser le code suivant pour accéder aux champs de la structure :

fmt.Println(p.Age)
p.Age = 20

Le code ci-dessus affichera l'attribut Age de p et le modifiera à 20.

4. Définition des méthodes de structure

En plus de définir des structures, nous pouvons également définir des méthodes sur les structures. Une méthode est une fonction qui permet d'accéder aux champs d'une structure et peut lire et modifier les valeurs de la structure. Vous pouvez définir une méthode struct en utilisant le code suivant :

func (p *Person) SetAge(age int) {
    p.Age = age
}

Dans cet exemple, nous définissons une méthode struct appelée SetAge. Il accepte un paramètre de type int et l'affecte au champ Age de la structure.

5. Modification de la structure

Dans Golang, vous pouvez utiliser l'opérateur point pour accéder aux champs de la structure, ou vous pouvez modifier les valeurs des champs de la structure via des pointeurs. Par exemple, le code suivant affichera la propriété Age de p et la modifiera à 20.

fmt.Println(p.Age)
p.Age = 20

Si vous souhaitez modifier la valeur d'une structure à l'intérieur d'une fonction, vous devez utiliser un pointeur. Par exemple :

func SetName(p *Person, name string) {
    p.Name = name
}

SetName(&p, "Jim")

Dans cet exemple, nous passons le pointeur de l'objet Person à la fonction SetName. Le paramètre de fonction p est un pointeur vers l'objet Person, qui peut être modifié en "Jim" via le pointeur.

6. Imbrication de structures

Les structures peuvent être imbriquées dans d'autres structures. Cela vous permet de créer des structures de données plus complexes. Par exemple :

type Address struct {
    City  string
    State string
}

type Family struct {
    Address Address
    Members []Person
}

Dans cet exemple, nous définissons une structure Famille, où Adresse est un type de structure imbriquée qui contient deux champs : Ville et État. La structure Famille contient également une tranche contenant plusieurs types de personnes.

7. Modification des structures

Lors de la modification de structures imbriquées, vous devez y accéder comme des champs, comme la structure Adresse dans la structure Famille :

func SetCity(f *Family, city string) {
    f.Address.City = city
}

SetCity(&f, "New York")

Dans cet exemple, nous sommes dans la structure Famille Une méthode SetCity est définie ci-dessus, qui accepte un pointeur vers un objet Family et définit son champ Address.City sur « New York ».

8. Clone de structure

Parfois, nous devons cloner un objet structure. Dans ce cas, nous pouvons utiliser la méthode suivante :

func Clone(p Person) Person {
    return p
}

c := Clone(p)

Dans cet exemple, nous définissons une fonction appelée Clone, qui accepte un objet Person et renvoie un. nouvel objet Person, créant ainsi avec succès une copie de l'objet structure.

9. Résumé

Dans Golang, les structures peuvent être utilisées pour stocker et exploiter facilement des types de données complexes. Lorsque vous devez modifier la valeur de la structure, vous pouvez utiliser des pointeurs pour y accéder et la modifier. Les structures peuvent imbriquer d'autres structures pour créer des structures de données plus complexes. En clonant une structure, vous pouvez créer un nouvel objet struct, ce qui est plus pratique.

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