Maison > développement back-end > Golang > Pointeurs Go : que signifient les symboles astérisque (*) et esperluette (&) ?

Pointeurs Go : que signifient les symboles astérisque (*) et esperluette (&) ?

Mary-Kate Olsen
Libérer: 2024-12-09 17:05:11
original
931 Les gens l'ont consulté

Go Pointers: What Do the Asterisk (*) and Ampersand (&) Symbols Mean?

Comprendre la signification de l'astérisque et de l'esperluette dans Go

Question :

Dans le code Go, j'ai rencontré le caractères astérisque (*) et esperluette (&), mais je ne suis pas sûr de leurs rôles. Pourriez-vous m'aider à comprendre quand et comment ils sont utilisés ?

Réponse :

L'astérisque (*) et l'esperluette (&) remplissent des fonctions distinctes dans la programmation Go :

Astérisque (*)

Pointeur vers un Type :

  • Lorsqu'il est utilisé avec une déclaration de type (*string), il représente un pointeur vers le type.

Affectation indirecte :

  • Lorsqu'il est utilisé dans une affectation (*v = ...), il demande au programme de modifier la valeur pointée par le variable.

Déréférencement du pointeur :

  • Lorsqu'il est apposé sur une variable ou une expression (*v), il renvoie la valeur à laquelle le pointeur fait référence à.

Esperluette (&)

Référence Création :

  • Lorsqu'il est utilisé avec une variable ou une expression (&v), il produit un pointeur vers la valeur de cette variable ou de ce champ. Le pointeur pointe vers la valeur d'origine, mais toute modification apportée à l'aide du pointeur affectera également la valeur d'origine.

Affectation par référence :

  • L'exemple dans votre code avec var p *string = &s crée un pointeur, p, qui pointe vers la valeur de chaîne stockée dans la variable s.

En comprenant ces concepts, vous pouvez utiliser efficacement les astérisques et les esperluettes pour travailler avec des pointeurs dans Go.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal