Junior — Middle
Կարո՞ղ է լինել մեթոդներ, որոնք ունեն մասնավոր տեսանելիության տարածք, Go լեզվում։
sobes.tech AI
Պատասխան AI-ից
Go-յում մեթոդների տեսանելիության ոլորտը որոշվում է մեթոդի անունի առաջին տառի մեծ կամ փոքր տառով։ Եթե մեթոդի անունը սկսվում է մեծատառով, այն արտահանվում է (հանրային), եթե փոքրատառով՝ մեթոդը մասնավոր է (միայն փաթեթի ներսում հասանելի)։ Այսպիսով, Go-յում չկա private բանալի բառ, բայց կարելի է հայտարարել մեթոդ մասնավոր տեսանելիությամբ՝ պարզապես սկսելով նրա անունը փոքրատառով։
Օրինակ՝
package mypackage
type MyStruct struct {}
func (m MyStruct) publicMethod() {
// մասնավոր մեթոդ, հասանելի միայն mypackage փաթեթի ներսում
}
func (m MyStruct) PublicMethod() {
// հանրային մեթոդ, հասանելի այլ փաթեթներից
}
publicMethod կոչումը հնարավոր կլինի միայն mypackage փաթեթի ներսում։