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.