Dans Go, lorsque vous travaillez avec des structures, il est parfois nécessaire d'avoir certains champs et méthodes comme privés, ce qui signifie que seuls les les membres de cette structure peuvent y accéder, tandis que d'autres types ou fonctions dans le cadre du package ne devraient pas y avoir accès.
Pour y parvenir, il est important de noter que dans Go, les identifiants commençant par des majuscules sont exportés du package et sont accessibles aux entités extérieures au package déclarant. A l'inverse, les identifiants commençant par des lettres minuscules ne sont accessibles qu'au sein du package lui-même.
Si le but est que les membres d'un type soient accessibles uniquement aux membres de ce type, il est nécessaire de placer ce type, ainsi que son fonctions membres, dans un package séparé, comme seul type dans ce package. Ce faisant, le type et ses membres seront privés pour ce package et ne seront pas accessibles de l'extérieur.
Voici comment modifier le code pour rendre la structure mytype et la méthode doPrivate privées :
// Define a separate package for mytype. package mytypepkg type mytype struct { size string hash uint32 } func (r *mytype) doPrivate() string { return r.size }
Maintenant, mytype et doPrivate sont encapsulés dans leur propre package, ce qui les rend inaccessibles à partir d'autres types ou fonctions en dehors de ce package.
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!