Sobes.tech
Junior — Middle

¿Puedes explicar qué se entiende por 'captura de variables' en el contexto de la programación?

sobes.tech AI

Respuesta de la IA

En programación, el término «captura de variables» significa que una función o cierre mantiene el acceso a las variables del ámbito externo, incluso después de que esa área haya terminado su ejecución.

Por ejemplo, en Go se puede crear una función que devuelve otra función que utiliza una variable del ámbito externo:

func makeAdder(x int) func(int) int {
    return func(y int) int {
        return x + y // 'x' capturado por el cierre
    }
}

func main() {
    addFive := makeAdder(5)
    fmt.Println(addFive(3)) // Imprime 8
}

Aquí, la función interna «captura» la variable x de la función externa makeAdder. Esto permite mantener el estado entre llamadas y crear construcciones más flexibles.