Junior — Middle
Pode explicar o que se entende por 'captura de variável' no contexto da programação?
sobes.tech IA
Resposta da IA
Na programação, o termo «captura de variável» significa que uma função ou encerramento mantém o acesso às variáveis do escopo externo, mesmo após essa área ter terminado a sua execução.
Por exemplo, em Go, pode-se criar uma função que retorna outra função que utiliza uma variável do escopo externo:
func makeAdder(x int) func(int) int {
return func(y int) int {
return x + y // 'x' capturado pelo encerramento
}
}
func main() {
addFive := makeAdder(5)
fmt.Println(addFive(3)) // Vai imprimir 8
}
Aqui, a função interna «captura» a variável x da função externa makeAdder. Isso permite manter o estado entre chamadas e criar construções mais flexíveis.