Junior — Middle
Puoi spiegare cosa si intende per Auto Closure nel contesto della programmazione?
sobes.tech AI
Risposta dell'AI
Auto Closure è un meccanismo in Swift che consente di avvolgere automaticamente un'espressione in una closure. Ciò significa che, invece di passare esplicitamente una closure, si può passare un'espressione che verrà valutata solo quando la closure verrà chiamata.
Vantaggi:
- Calcolo differito: l'espressione non viene valutata immediatamente, ma solo quando necessario.
- Sintassi comoda: il codice diventa più pulito e semplice.
Esempio:
func logIfTrue(_ predicate: @autoclosure () -> Bool) {
if predicate() {
print("Condizione vera")
}
}
logIfTrue(2 > 1) // L'espressione 2 > 1 viene automaticamente avvolta in una closure
Qui, 2 > 1 non viene valutato immediatamente al momento della chiamata, ma solo all'interno della funzione quando si chiama predicate().