Junior — Middle
Comment le principe d'encapsulation des données est-il réalisé dans le langage Go?
sobes.tech IA
Réponse de l'IA
En Go, l'encapsulation est réalisée par la règle de visibilité des identificateurs : si le nom d'une variable, fonction, méthode ou champ de structure commence par une majuscule, il est exporté et accessible depuis d'autres packages ; s'il commence par une minuscule, il n'est accessible qu'au sein du package actuel.
Ainsi, pour cacher des données, il suffit de faire en sorte que les champs de la structure commencent par une minuscule, et d'implémenter des méthodes avec une majuscule (getters et setters) pour y accéder.
Exemple :
package user
type User struct {
name string // champ privé
}
func NewUser(name string) *User {
return &User{name: name}
}
func (u *User) GetName() string {
return u.name
}
func (u *User) SetName(name string) {
u.name = name
}
}
Ici, le champ name est caché de l'accès externe, et les méthodes GetName et SetName offrent un accès contrôlé à celui-ci.