Maison > développement back-end > Golang > le corps du texte

Comment puis-je garantir que les modifications des champs de structure persistent dans les méthodes Go ?

Mary-Kate Olsen
Libérer: 2024-11-16 10:37:03
original
314 Les gens l'ont consulté

How Can I Ensure Struct Field Modifications Persist in Go Methods?

Rétablissement d'un champ de structure après modification

Dans Go, la modification d'un champ de structure au sein d'une méthode peut ne pas conserver les modifications en dehors de la méthode. Cela se produit lorsque la structure est passée par valeur, ce qui entraîne la modification d'une seule copie de la structure.

Pour résoudre ce problème, les structures doivent être passées par pointeur en utilisant l'opérateur astérisque (*) avant le nom de la structure dans la déclaration du type de récepteur. Cela garantit que la structure originale, plutôt qu'une copie, est modifiée dans la méthode.

Par exemple, dans le code fourni :

func (this MockConnector) sendCommand(payload map[string]string) {
Copier après la connexion

doit être modifié en :

func (this *MockConnector) sendCommand(payload map[string]string) {
Copier après la connexion

De plus, il est considéré comme une convention dans Go d'utiliser un nom de récepteur autre que celui-ci ou soi-même.

En suivant ces directives, les champs de structure peuvent être modifiés efficacement dans les méthodes et leurs modifications seront préservées. une fois la méthode terminée.

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