Sobes.tech
Junior — Middle

Go dilində məlumatların kapsüllənməsi prinsipi necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində inkapsulyasiya identifikatorların görünürlük qaydası ilə əldə edilir: əgər dəyişən, funksiya, metod və ya struktur sahəsinin adı böyük hərflə başlayırsa, o, ixrac edilir və digər paketlərdən əlçatan olur; kiçik hərflə başlayırsa, yalnız cari paket daxilində əlçatan olur.

Məlumatları gizlətmək üçün, struktur sahələrini kiçik hərflə yazmaq və onlara giriş üçün böyük hərflə metodlar (getter və setterlər) tətbiq etmək kifayətdir.

Nümunə:

package user

type User struct {
    name string // xüsusi sahə
}

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
}
}

Burada, name sahəsi xarici girişdən gizlədilib, və GetNameSetName metodları ona nəzarətli giriş təmin edir.