Sobes.tech
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 пружају контролисани приступ њему.