Sobes.tech
Junior — Middle

Hogyan lehet egy változót deklarálni korlátozott láthatósággal egy osztály vagy modul belsejében?

sobes.tech MI

Válasz az MI-től

Go-ban a változó láthatósági területe a nevétől és a deklaráció helyétől függ. Egy változó korlátozott láthatóságú deklarálásához osztályon (struktúrán) vagy modullal (csomaggal) belül a következő megközelítéseket alkalmazzák:

  • Függvény vagy metódus belsejében: a változót var-ral vagy rövid deklarációval := deklarálják, és csak ezen a függvényen vagy metóduson belül látható.

  • Csomagon belül: azok a változók, függvények, típusok, amelyek neve kisbetűvel kezdődik, csak a csomagon (modulon) belül láthatók. Ha a név nagybetűvel kezdődik, exportálódik és más csomagokból is elérhető.

Példa:

package mypackage

var packageVar = 10 // csak a mypackage csomagon belül látható

func myFunc() {
    var localVar = 5 // csak a myFunc-en belül látható
    _ = localVar
}

// Exportált változó
var ExportedVar = 20 // más csomagokból elérhető

Így a változó láthatóságának korlátozásához egy modulon belül kisbetűs neveket kell használni, és a változókat a függvényeken kívül, de a csomagon belül kell deklarálni. Osztályon (struktúrán) belüli láthatóság korlátozásához általában struktúra mezőket használnak, ahol a láthatóságot szintén a név első betűje határozza meg.