Junior — Middle
Hoe wordt het principe van gegevensencapsulatie geïmplementeerd in de programmeertaal Go?
sobes.tech AI
Antwoord van AI
In Go wordt encapsulatie bereikt door de regel van zichtbaarheid van identifiers: als de naam van een variabele, functie, methode of veld van een structuur begint met een hoofdletter, wordt deze geëxporteerd en is deze toegankelijk vanuit andere pakketten; als het met een kleine letter begint, is het alleen binnen het huidige pakket toegankelijk.
Om gegevens te verbergen, is het voldoende om de velden van de structuur met een kleine letter te maken, en methoden met een hoofdletter (getters en setters) te implementeren om er toegang toe te krijgen.
Voorbeeld:
package user
type User struct {
name string // privé veld
}
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
}
}
Hier is het veld name verborgen voor externe toegang, en bieden de methoden GetName en SetName gecontroleerde toegang tot het.