Sobes.tech
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.