Sobes.tech
Junior — Middle

Explica el concepto de closure y cómo se utiliza en programación

sobes.tech AI

Respuesta de la IA

El cierre (closure) es una función que «recuerda» el entorno en el que fue creada, incluyendo el acceso a variables del ámbito externo, incluso si esa área ya salió del contexto de ejecución.

En programación, el closure se utiliza para:

  • Guardar el estado entre llamadas a la función sin usar variables globales.
  • Encapsular datos y crear variables privadas.
  • Crear funciones con parámetros predeterminados que mantienen sus valores.

Ejemplo en Swift (iOS):

func makeIncrementer(amount: Int) -> () -> Int {
    var total = 0
    let incrementer: () -> Int = {
        total += amount
        return total
    }
    return incrementer
}

let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20

Aquí, incrementer es un closure que captura y guarda la variable total de la función externa, permitiendo mantener el estado entre llamadas.