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.