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ə GetName və SetName metodları ona nəzarətli giriş təmin edir.