Sobes.tech
Junior — Middle

როგორ შეიძლება გამოაცხადოთ ცვლადი შეზღუდული სავალდებულო სივრცეში კლასი ან მოდულის შიგნით?

sobes.tech AI

პასუხი AI-სგან

Go'da, o'zgaruvchining ko'rinish doirasi uning nomi va e'lon qilinadigan joyiga bog'liq. Sinf (struktur) yoki modul (paket) ichida cheklangan ko'rinish doirasini e'lon qilish uchun quyidagi yondashuvlar qo'llaniladi:

  • Funktsiya yoki metod ichida: o'zgaruvchi var yoki qisqa e'lon := yordamida e'lon qilinadi va faqat shu funktsiya yoki metod ichida ko'rinadi.

  • Paket ichida: nomi kichik harf bilan boshlanadigan o'zgaruvchilar, funksiyalar, turlar faqat paket (modul) ichida ko'rinadi. Agar nom katta harf bilan boshlansa, u eksport qilinadi va boshqa paketlardan kirish mumkin.

Misol:

package mypackage

var packageVar = 10 // faqat mypackage paket ichida ko'rinadi

func myFunc() {
    var localVar = 5 // faqat myFunc ichida ko'rinadi
    _ = localVar
}

// Eksport qilingan o'zgaruvchi
var ExportedVar = 20 // boshqa paketlardan kirish mumkin

Shu tarzda, modul ichida o'zgaruvchining ko'rinish doirasini cheklash uchun kichik harflar bilan nomlash va o'zgaruvchilarni funksiyalardan tashqarida, lekin paket ichida e'lon qilish kerak. Sinf (struktur) ichida ko'rinishni cheklash uchun odatda strukturadagi maydonlar ishlatiladi, ularning ko'rinishi ham nomning birinchi harfi bilan belgilanadi.