Junior — Middle
Hozzáférhető-e egy függvényen belül deklarált változó kívülről?
sobes.tech MI
Válasz az MI-től
Go-ban egy függvényen belül deklarált változónak helyi hatálya van, és nem érhető el közvetlenül a függvényen kívül.
Azonban hozzáférhetünk a változó értékéhez kívülről zárványok (closures) vagy a függvényből való visszatérés révén.
Zárvány példája:
func számláló() func() int {
szám := 0
return func() int {
szám++
return szám
}
}
func main() {
c := számláló()
fmt.Println(c()) // 1
fmt.Println(c()) // 2
}
Itt a szám változó a számláló függvényen belül van deklarálva, de a visszatérő függvényen keresztül elérhető.
Ezek nélkül a módszerek nélkül nem lehet közvetlenül hozzáférni a helyi változóhoz a függvényen kívül.