Maison  >  Article  >  développement back-end  >  Comment accéder aux champs intégrés dans Go Structs ?

Comment accéder aux champs intégrés dans Go Structs ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 13:38:29845parcourir

How Do I Access Embedded Fields in Go Structs?

Accès aux champs intégrés de type Struct

Dans Go, les types de structure peuvent contenir des champs intégrés, qui permettent d'incorporer un ou plusieurs types dans une structure. Cette fonctionnalité puissante permet la réutilisation du code et une gestion efficace de la mémoire. Cependant, comprendre comment accéder à ces champs peut s'avérer difficile lors de l'apprentissage des pointeurs.

Considérez les définitions de structure suivantes :

<code class="go">type Engine struct {
    power int
}

type Tires struct {
    number int
}

type Cars struct {
    *Engine // Embedded field with pointer
    Tires   // Embedded field without pointer
}</code>

Comme vous l'avez observé, dans la structure Cars, un élément intégré type pointeur *Le moteur est défini. Cela permet d'accéder aux méthodes et aux champs du type Engine via la structure Cars.

Pour accéder au champ de puissance du champ intégré Engine, vous devez d'abord initialiser les structures Engine et Cars. Dans la fonction principale :

<code class="go">func main() {
    car := new(Cars) // Initialize Cars struct
    car.Engine = new(Engine) // Initialize Engine struct explicitly
    car.power = 342 // Set power field
    car.number = 4 // Set number field
}</code>

En initialisant explicitement les deux structures, vous établissez une connexion entre le pointeur *Engine intégré et l'objet Engine réel. Désormais, vous pouvez accéder au champ de puissance via la structure Cars :

<code class="go">fmt.Println(car.power) // Prints 342</code>

De même, pour le champ intégré sans pointeur Pneus, vous pouvez accéder directement à son champ numérique :

<code class="go">fmt.Println(car.number) // Prints 4</code>

Cet exemple montre comment initialiser et accéder correctement aux champs incorporés dans une structure, vous permettant d'utiliser pleinement la réutilisation du code et la gestion efficace de la mémoire.

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