Sobes.tech
Junior — Middle

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 var alebo 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.