Junior — Middle
Is het mogelijk om toegang te krijgen tot een variabele die binnen een functie is gedeclareerd, van buiten de scope?
sobes.tech AI
Antwoord van 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, но доступна через возвращаемую функцию.
Прямого доступа к локальной переменной из вне функции без таких приёмов нет.