Junior — Middle
Spiega il concetto di closure e come viene utilizzato nella programmazione
sobes.tech AI
Risposta dell'AI
La closure (chiusura) è una funzione che «ricorda» l'ambiente in cui è stata creata, incluso l'accesso alle variabili dell'ambito esterno, anche se questa area è già uscita dal contesto di esecuzione.
In programmazione, la closure viene utilizzata per:
- Mantenere lo stato tra le chiamate di funzione senza usare variabili globali.
- Incapsulare i dati e creare variabili private.
- Creare funzioni con parametri predefiniti che conservano i valori.
Esempio in 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
Qui, incrementer è una closure che cattura e conserva la variabile total dalla funzione esterna, permettendo di mantenere lo stato tra le chiamate.