Junior — Middle
Se poate accesa o variabilă declarată în interiorul unei funcții din afara domeniului său de vizibilitate?
sobes.tech AI
Răspuns de la AI
În Go, o variabilă declarată în interiorul unei funcții are un domeniu local și nu este accesibilă direct în afara acestei funcții.
Cu toate acestea, se poate accesa valoarea variabilei din exterior prin closures sau returnând valoarea din funcție.
Exemplu cu closure:
func contor() func() int {
count := 0
return func() int {
count++
return count
}
}
func main() {
c := contor()
fmt.Println(c()) // 1
fmt.Println(c()) // 2
}
Aici, variabila count este declarată în interiorul funcției contor, dar este accesibilă prin funcția returnată.
Fără aceste metode, nu există acces direct la variabila locală din afara funcției.