"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Méthode du récepteur de pointeur de langue GO MODIFIE La valeur non-pointeur? Explication détaillée

Méthode du récepteur de pointeur de langue GO MODIFIE La valeur non-pointeur? Explication détaillée

Publié le 2025-03-11
Parcourir:297

Why Does Go's Method with a Pointer Receiver Seem to Modify Non-Pointer Values?

Méthode avec le récepteur de pointeur

Dans la visite de Go, l'exercice 51 explore les récepteurs de la méthode. L'explication fournie indique que la méthode d'échelle, qui fonctionne sur un pointeur vers un sommet, n'a aucun effet lorsqu'il reçoit directement une valeur de sommet. Cependant, la modification de la fonction principale pour passer un sommet non de pointeur contredit cette affirmation.

Pourquoi la divergence?

Malgré le code qui reçoit une valeur non-point, l'échelle modifie avec succès la variable. Ce comportement peut être attribué au système de frappe solide de Go. Lorsqu'un pointeur vers t est attendu dans un certain contexte, seul un pointeur vers t (* t) peut satisfaire à cette exigence. Le jeu de méthode Addressable et & X contient m, x.m () est un raccourci pour (& x) .m (): "

, le compilateur réécrit le code pour passer un pointeur vers la valeur non-point lorsque la variable de réception a un type de récepteur de pointeur. Cela permet à la méthode d'échelle de modifier la variable d'origine.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3