Junior — Middle
Jak je v jazyce Go realizováno pravidlo zapouzdření dat?
sobes.tech AI
Odpověď od AI
V jazyce Go je zapouzdření dosaženo pomocí pravidla viditelnosti identifikátorů: pokud název proměnné, funkce, metody nebo pole struktury začíná velkým písmenem, je exportován a je dostupný z jiných balíčků; pokud začíná malým písmenem, je dostupný pouze uvnitř aktuálního balíčku.
Pro skrytí dat stačí, aby pole struktury začínala malým písmenem, a pro přístup k nim implementovat metody s velkým písmenem (gettery a settery).
Příklad:
package user
type User struct {
name string // soukromé pole
}
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
}
}
Zde je pole name skryto před vnějším přístupem, a metody GetName a SetName poskytují kontrolovaný přístup k němu.