Sobes.tech
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 փաթեթի ներսում։