Назад к вопросам
Газпромбанк
Junior — Middle
86
Можно ли получить доступ к переменной, объявленной внутри функции, из вне ее области видимости?
Компании, где спрашивали
Ответ от нейросети
sobes.tech 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, но доступна через возвращаемую функцию.
Прямого доступа к локальной переменной из вне функции без таких приёмов нет.