Sobes.tech
Junior — Middle

Explique le concept de closure et comment il est utilisé en programmation

sobes.tech IA

Réponse de l'IA

Une fermeture (closure) est une fonction qui « se souvient » de l’environnement dans lequel elle a été créée, y compris l’accès aux variables de la portée externe, même si cette zone a déjà quitté le contexte d’exécution.

En programmation, la closure est utilisée pour :

  • Conserver l’état entre les appels de fonction sans utiliser de variables globales.
  • Encapsuler des données et créer des variables privées.
  • Créer des fonctions avec des paramètres par défaut qui conservent leurs valeurs.

Exemple 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

Ici, incrementer est une closure qui capture et conserve la variable total de la fonction externe, permettant de maintenir l’état entre les appels.