Ինչպե՞ս կարելի է հայտարարել սահմանափակ տեսանելիության փոփոխական դասի կամ մոդուլի ներսում։
sobes.tech AI
Պատասխան AI-ից
Go-ում փոփոխականի տեսանելիության շրջանակը որոշվում է նրա անվան և հայտարարության վայրի միջոցով։ Որպեսզի սահմանափակված տեսանելիության փոփոխականը հայտարարեք դասի (ստրուկտուրայի) կամ մոդուլի (փաթեթի) ներսում, օգտագործվում են հետևյալ մոտեցումները՝
-
Ֆունկցիայի կամ մեթոդի ներսում: փոփոխականը հայտարարում է
varկամ կարճ հայտարարությամբ:=և միայն այդ ֆունկցիայի կամ մեթոդի ներսում է տեսանելի։ -
Փաթեթի ներսում: այն փոփոխականները, ֆունկցիաները, տիպերը, որոնց անունը սկսվում է փոքրատառով, միայն փաթեթի (մոդուլի) ներսում են տեսանելի։ Եթե անունը սկսվում է մեծատառով, այն արտահանվում է և հասանելի է այլ փաթեթներից։
Օրինակ՝
package mypackage
var packageVar = 10 // միայն mypackage փաթեթի ներսում է տեսանելի
func myFunc() {
var localVar = 5 // միայն myFunc-ի ներսում է տեսանելի
_ = localVar
}
// Արտահանվող փոփոխական
var ExportedVar = 20 // հասանելի է այլ փաթեթներից
Այսպիսով՝ սահմանափակելու փոփոխականի տեսանելիության շրջանակը մոդուլում, անհրաժեշտ է օգտագործել փոքրատառերով անուններ և հայտարարել փոփոխականները ֆունկցիաների դուրս, բայց փաթեթի ներսում։ Դասի (ստրուկտուրայի) ներսում տեսանելիությունը սահմանափակելու համար սովորաբար օգտագործվում են կառուցվածքի դաշտերը, որոնց տեսանելիությունը նույնպես որոշվում է անունի առաջին տառով։