Sobes.tech
Junior — Middle

Go тилинде маалыматтарды капсулдаштыруу принциби кантип ишке ашырылат?

sobes.tech AI

AIден жооп

Go тилинде инкапсуляция идентификаторлордун көрүнүш эрежеси аркылуу жеткирилет: эгер өзгөрмөнүн, функциянын, ыкманың же структуранын талаасынын аты чоң тамгамен башталса, ал экспорттолот жана башка пакеттерден жеткиликтүү болот; кичине тамгамен башталса, ал гана учурдагы пакеттер ичинде жеткиликтүү болот.

Маалыматты жашыруу үчүн, структуранын талааларын кичине тамгамен жазуу жана аларга жетүү үчүн чоң тамгамен методдорду (getter жана setter) иштеп чыгуу жетиштүү.

Мисал:

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 методдору ага көзөмөлдөнгөн жеткиликтүүлүк камсыздайт.