Junior — Middle
Pouvez-vous parler des caractéristiques importantes de l'utilisation des closures en programmation?
sobes.tech IA
Réponse de l'IA
Les fermetures (closures) sont des fonctions qui « se souviennent » du contexte dans lequel elles ont été créées, y compris l'accès aux variables de la portée externe même après que cette portée n'est plus active.
Caractéristiques importantes des fermetures :
- Permettent de conserver l'état entre les appels de fonction.
- Sont utilisées pour créer des variables privées et encapsulation.
- Sont souvent utilisées en programmation asynchrone et gestionnaires d'événements.
Exemple en Swift :
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
return {
total += amount
return total
}
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Ici, la fermeture conserve la variable total entre les appels, permettant d'accumuler la valeur.