Junior — Middle
È possibile accedere a una variabile dichiarata all'interno di una funzione dall'esterno del suo ambito?
sobes.tech AI
Risposta dell'AI
В Go переменная, объявленная внутри функции, имеет локальную область видимости и недоступна вне этой функции напрямую.
Однако, можно получить доступ к значению переменной снаружи через замыкания (closures) или возвращая значение из функции.
Пример с замыканием:
func counter() func() int {
count := 0
return func() int {
count++
return count
}
}
func main() {
c := counter()
fmt.Println(c()) // 1
fmt.Println(c()) // 2
}
Здесь переменная count объявлена внутри функции counter, но доступна через возвращаемую функцию.
Прямого доступа к локальной переменной из вне функции без таких приёмов нет.