Junior — Middle
Kako se u jeziku Go realizuje princip enkapsulacije podataka?
sobes.tech АИ
Одговор од АИ
У Go, енкапсулација се постиже коришћењем правила видљивости идентификатора: ако име променљиве, функције, методе или поља структуре почиње великим словом, оно се експортира и доступно је из других пакета; ако почиње малим словом, доступно је само унутар тренутног пакета.
Да бисте сакрили податке, довољно је да поља структуре почну малим словом, а за приступ њима реализујете методе са великим словом (геттере и сеттере).
Пример:
package user
type User struct {
name string // приватно поље
}
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
}
}
Овде је поље name сакривено од спољашњег приступа, а методи GetName и SetName пружају контролисани приступ њему.