Sobes.tech
Junior — Middle

Go dilinde veri kapsülleme ilkesi nasıl uygulanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde kapsülleme, tanımlayıcıların görünürlük kurallarıyla sağlanır: Bir değişken, fonksiyon, yöntem veya yapı alanı adının ilk harfi büyük harfle başlıyorsa, dışa aktarılır ve diğer paketlerden erişilebilir; küçük harfle başlıyorsa, yalnızca mevcut paket içinde erişilebilir.

Bu nedenle, verileri gizlemek için, yapı alanlarını küçük harfle başlatmak ve onlara erişmek için büyük harfle başlayan yöntemler (getter ve setterlar) uygulamak yeterlidir.

Örnek:

package user

type User struct {
    name string // özel alan
}

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 alanı dış erişimden gizlenmiş olup, GetName ve SetName metodları ona kontrollü erişim sağlar.