Junior — Middle
Puoi spiegare il concetto di Autoclosure e come viene utilizzato nel linguaggio di programmazione?
sobes.tech AI
Risposta dell'AI
L’autoclosure è un tipo speciale di chiusura in Swift, che viene creato automaticamente da un’espressione passata a una funzione. Permette di posticipare la valutazione dell’espressione fino al momento del suo utilizzo all’interno della funzione, mantenendo una sintassi di chiamata semplice.
Ad esempio, invece di scrivere esplicitamente una chiusura:
func logIfTrue(_ predicate: () -> Bool) {
if predicate() {
print("La condizione è vera")
}
}
logIfTrue({ 2 > 1 })
Si può usare autoclosure:
func logIfTrue(_ predicate: @autoclosure () -> Bool) {
if predicate() {
print("La condizione è vera")
}
}
logIfTrue(2 > 1) // L’espressione viene automaticamente avvolta in una chiusura
Questo migliora la leggibilità del codice e permette di passare espressioni che verranno valutate solo se necessario.