Sobes.tech
Junior — Middle

Explique el mecanismo de funcionamiento del cierre en programación.

sobes.tech AI

Respuesta de la IA

En programación, un cierre (closure) es una función que "recuerda" y puede usar variables de su ámbito externo, incluso si esa función externa ya ha finalizado su ejecución.

En Go, los cierres a menudo se crean mediante funciones anónimas que acceden a variables del contexto circundante. Esto permite mantener el estado entre llamadas a la función.

Ejemplo:

package main
import "fmt"

func contador() func() int {
    count := 0
    return func() int {
        count++
        return count
    }
}

func main() {
    c := contador()
    fmt.Println(c()) // 1
    fmt.Println(c()) // 2
    fmt.Println(c()) // 3
}

Aquí, la función contador devuelve un cierre que incrementa y devuelve el valor de count. La variable count se mantiene en el cierre entre llamadas.