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 մեթոդները ապահովում են վերահսկվող հասանելիություն։