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.