Usare le closure in Swift
La closure, conosciute anche come funzioni anomine o lambda in altri linguaggi, sono delle funzioni senza nome che possiamo assegnare ad una variabile, passare come parametro o restituire come valore.
In questo articolo ne vediamo un paio di esempi in Swift.
Cominciamo dal più basico:
var add = {(a: Int, b: Int) -> Int in
return a + b
}
print(add(10, 3))
Come vedete, abbiamo assegnato una funzione ad una variabile.
Questa funzione non ha nome, ritorna un intero, e vuole due parametri.
Cosi facendo possiamo usare questa variabile anche in altre parti del programma.
Il secondo esempio vi fa vedere proprio questo:
var add = {(a: Int, b: Int) -> Int in
return a + b
}
print(add(10, 3))
func miaFunzione(a: Int, b: Int, fn: (Int, Int) -> Int) -> Int {
let res = fn(a, b)
return res
}
print(miaFunzione(a: 10, b: 3, fn: add))
Enjoy!
swift closure
Commentami!