Класс же модуль ичинде чектелген чөйрө менен өзгөрмөнү кантип жарыялоо керек?
sobes.tech AI
AIден жооп
Go'да, ўзгарувчининг кўриниш доираси унинг исми ва эълон қилинган жойига боғлиқ. Клас (структура) ёки модуль (пакет) ичида чекланган кўриниш доирасини эълон қилиш учун қуйидаги ёндашувлар қўлланилади:
-
Функция ёки усул ичида: ўзгарувчи
varёки қисқа эълон:=ёрдамида эълон қилинади ва фақат шу функция ёки усул ичида кўринади. -
Пакет ичида: номи кичик ҳарф билан бошланган ўзгарувчилар, функциялар, турлар фақат пакет (модул) ичида кўринади. Агар номи катта ҳарф билан бошланса, у экспорт қилинади ва бошқа пакеттердан кириш мумкин.
Масалан:
package mypackage
var packageVar = 10 // фақат mypackage пакети ичида кўринади
func myFunc() {
var localVar = 5 // фақат myFunc ичида кўринади
_ = localVar
}
// Экспорт қилинган ўзгарувчи
var ExportedVar = 20 // бошқа пакеттердан кириш мумкин
Шу тариқа, модул ичида ўзгарувчининг кўриниш доирасини чеклаш учун кичик ҳарфлар билан номлаш ва ўзгарувчиларни функциялардан ташқари, аммо пакет ичида эълон қилиш керак. Класс (структура) ичида кўринишни чеклаш учун одатда структура майдонлари қўлланилади, уларнинг кўриниш ҳам номнинг биринчи ҳарфи билан белгиланади.