Sobes.tech
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.