Chiusure come parametri
Perché le chiusure possono essere usate proprio come le stringhe e gli interi, puoi passarle nelle funzioni. La sintassi per questo può far male al cervello all’inizio, quindi ci andremo piano.
Primo, ecco di nuovo la nostra chiusura driving()
di base
let driving = { print("I'm driving in my car")}
Se volessimo passare quella chiusura in una funzione in modo che possa essere eseguita dentro quella funzione, specificheremmo il tipo di parametro come () -> Void
. Questo significa “non accetta parametri e restituisce Void
” – il modo di Swift di dire “niente”.
Così, possiamo scrivere una funzione travel()
che accetta diversi tipi di azioni di viaggio, e stampa un messaggio prima e dopo:
func travel(action: () -> Void) { print("I'm getting ready to go.") action() print("I arrived!")}
Possiamo ora chiamarla usando la nostra chiusura driving
, come questa:
travel(action: driving)
SPONSORED Sei stanco di perdere tempo nel debugging della tua app Swift? L’SDK di Instabug è qui per aiutarti a ridurre al minimo il tempo di debugging fornendoti dettagli completi sul dispositivo, log di rete e passi di riproduzione con ogni segnalazione di bug. Tutti i dati sono allegati automaticamente. Ci vuole solo una linea di codice per la configurazione. Inizia subito la tua prova gratuita e spedisci app di qualità!
Provalo gratis
Sponsorizza Hacking with Swift e raggiungi la più grande comunità Swift del mondo!