Junior — Middle
Wie wird das Prinzip der Datenkapselung in der Programmiersprache Go umgesetzt?
sobes.tech KI
Antwort von AI
In Go wird Kapselung durch die Sichtbarkeitsregel der Bezeichner erreicht: Wenn der Name einer Variablen, Funktion, Methode oder eines Feldes einer Struktur mit einem Großbuchstaben beginnt, wird es exportiert und ist aus anderen Paketen zugänglich; wenn es mit einem Kleinbuchstaben beginnt, ist es nur innerhalb des aktuellen Pakets zugänglich.
Um Daten zu verbergen, reicht es aus, die Felder der Struktur mit einem Kleinbuchstaben zu versehen, und Methoden mit einem Großbuchstaben (Getter und Setter) zu implementieren, um auf sie zuzugreifen.
Beispiel:
package user
type User struct {
name string // privates Feld
}
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 ist das Feld name vor externem Zugriff verborgen, und die Methoden GetName und SetName bieten kontrollierten Zugriff darauf.