Création de structures immuables dans Go
Dans Go, il est possible de créer des structures immuables qui, une fois initialisées, ne peuvent être utilisées que pour lire des valeurs plutôt que de les modifier. Voici comment procéder :
Rendre les membres privés
En règle générale, les champs d'une structure sont exportés et sont accessibles depuis l'extérieur du package. Pour créer une structure immuable, rendez ses champs non exportés en utilisant des lettres minuscules au début des noms de champs. Cela empêche l'accès externe aux champs.
Fournir des méthodes de lecture
Pour permettre l'accès aux valeurs des champs, définissez les méthodes du récepteur avec le préfixe "Value()" ou un nom descriptif. Ces méthodes récupèrent les valeurs sans modifier la structure.
Exemple
Voici un exemple d'extrait de code qui démontre la création d'une structure immuable :
package example type ImmutableStruct struct { value int } func (s ImmutableStruct) GetValue() int { return s.value } func NewImmutableStruct(value int) ImmutableStruct { return ImmutableStruct{value: value} }
Utilisation
Cette structure immuable peut être utilisée comme suit :
myStruct := example.NewImmutableStruct(3) fmt.Println(myStruct.GetValue()) // Prints 3
Dans cet exemple, la variable myStruct est immuable et ne peut pas être modifiée directement. Il ne peut être utilisé que pour récupérer la valeur via la méthode GetValue().
En rendant les structures immuables, vous pouvez améliorer la sécurité et l'intégrité de vos applications Go, en garantissant que les données sensibles ou critiques sont protégées contre les modifications involontaires. .
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!