Encapsulation de champs et de méthodes privés dans une structure Go
Dans Go, la visibilité des champs et des méthodes au sein d'une structure est contrôlée par le premier caractère de leurs noms. Les champs et méthodes commençant par une majuscule sont exportés du package et sont accessibles par un code externe. À l'inverse, ceux qui commencent par une lettre minuscule sont privés du package.
Pour restreindre l'accès à certains champs et méthodes au sein d'une structure, vous pouvez placer la structure et ses fonctions membres dans un package séparé. De cette façon, seul le type défini dans le package aura accès aux membres privés.
Par exemple, dans l'exemple fourni, vous pouvez créer un nouveau package pour votre structure mytype :
// mytype.go // Define the mytype struct with private fields and methods. package mytype type mytype struct { size string hash uint32 } func (r *mytype) doPrivate() string { return r.size }
Tant que le package mytype n'importe aucun autre package, la taille et le hachage des champs ainsi que la méthode doPrivate resteront privés pour mytype et inaccessibles de l'extérieur du 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!