Ako deklarovať premennú s obmedzeným rozsahom vnútri triedy alebo modulu?
sobes.tech AI
Odpoveď od AI
V Go je rozsah viditeľnosti premennej určený jej menom a miestom deklarácie. Ak chcete deklarovať premennú s obmedzeným rozsahom v rámci triedy (štruktúry) alebo modulu (balíka), používajú sa nasledujúce prístupy:
-
Vnútri funkcie alebo metódy: premenná sa deklaruje pomocou
varalebo krátkeho vyhlásenia:=a je viditeľná iba vnútri tejto funkcie alebo metódy. -
Vnútri balíka: premenné, funkcie, typy, ktorých názov začína malým písmenom, sú viditeľné iba v rámci balíka (modulu). Ak názov začína veľkým písmenom, je exportovaný a dostupný z iných balíkov.
Príklad:
package mypackage
var packageVar = 10 // viditeľná iba v balíku mypackage
func myFunc() {
var localVar = 5 // viditeľná iba vnútri myFunc
_ = localVar
}
// Exportovaná premenná
var ExportedVar = 20 // dostupná z iných balíkov
Takže na obmedzenie rozsahu premennej v rámci modulu je potrebné používať mená s malými písmenami a deklarovať premenné mimo funkcií, ale v rámci balíka. Na obmedzenie viditeľnosti v rámci štruktúry (triedy) sa zvyčajne používajú polia štruktúry, kde je viditeľnosť tiež určená prvým písmenom názvu.