Junior — Middle
É possível aceder a uma variável declarada dentro de uma função de fora do seu âmbito?
sobes.tech IA
Resposta da IA
No Go, uma variável declarada dentro de uma função tem um âmbito local e não está acessível fora dessa função diretamente.
No entanto, é possível aceder ao valor da variável de fora através de closures ou retornando o valor da função.
Exemplo com closure:
func contador() func() int {
count := 0
return func() int {
count++
return count
}
}
func main() {
c := contador()
fmt.Println(c()) // 1
fmt.Println(c()) // 2
}
Aqui, a variável count é declarada dentro da função contador, mas está acessível através da função devolvida.
Não há acesso direto à variável local de fora da função sem esses métodos.