Junior — Middle
Bir fonksiyon içinde tanımlanan bir değişkene, onun kapsamı dışında erişilebilir mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
В 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, но доступна через возвращаемую функцию.
Прямого доступа к локальной переменной из вне функции без таких приёмов нет.