Sobes.tech
Back to questions
Junior — Middle
85

Можно ли получить доступ к переменной, объявленной внутри функции, из вне ее области видимости?

Companies where asked
ГазпромбанкГазпромбанк

Answer from AI

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, но доступна через возвращаемую функцию.

Прямого доступа к локальной переменной из вне функции без таких приёмов нет.