Sobes.tech
Junior — Middle

Класс же модуль ичинде чектелген чөйрө менен өзгөрмөнү кантип жарыялоо керек?

sobes.tech AI

AIден жооп

Go'да, ўзгарувчининг кўриниш доираси унинг исми ва эълон қилинган жойига боғлиқ. Клас (структура) ёки модуль (пакет) ичида чекланган кўриниш доирасини эълон қилиш учун қуйидаги ёндашувлар қўлланилади:

  • Функция ёки усул ичида: ўзгарувчи var ёки қисқа эълон := ёрдамида эълон қилинади ва фақат шу функция ёки усул ичида кўринади.

  • Пакет ичида: номи кичик ҳарф билан бошланган ўзгарувчилар, функциялар, турлар фақат пакет (модул) ичида кўринади. Агар номи катта ҳарф билан бошланса, у экспорт қилинади ва бошқа пакеттердан кириш мумкин.

Масалан:

package mypackage

var packageVar = 10 // фақат mypackage пакети ичида кўринади

func myFunc() {
    var localVar = 5 // фақат myFunc ичида кўринади
    _ = localVar
}

// Экспорт қилинган ўзгарувчи
var ExportedVar = 20 // бошқа пакеттердан кириш мумкин

Шу тариқа, модул ичида ўзгарувчининг кўриниш доирасини чеклаш учун кичик ҳарфлар билан номлаш ва ўзгарувчиларни функциялардан ташқари, аммо пакет ичида эълон қилиш керак. Класс (структура) ичида кўринишни чеклаш учун одатда структура майдонлари қўлланилади, уларнинг кўриниш ҳам номнинг биринчи ҳарфи билан белгиланади.