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) {
doit être modifié en :
func (this *MockConnector) sendCommand(payload map[string]string) {
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!