Funzioni annidate in Swift

Mattepuffo's logo
Funzioni annidate in Swift

Funzioni annidate in Swift

In Swift abbiamo la possibilità di creare delle funzioni annidate dentro altre funzioni.

In questo articolo vediamo qualche esempio.

Cominciamo da uno basico:

func somma() {
    func printSomma(n1: Int, n2: Int) {
        print(n1 + n2)
    }
    
    printSomma(n1: 10, n2: 4)
}

somma()

Ovviamente potremmo avere la necessità di passare dei parametri dall'esterno della funzione:

func somma(n1: Int, n2: Int) {
    
    func printSomma(somma: Int) {
        print(somma)
    }
    
    let res = n1 + n2
    
    printSomma(somma: res)
}

somma(n1: 10, n2: 4)

In entrambi i casi le funzioni non ritornano nulla.

E se inevece volessimo fargli ritornare la somma?

func somma(n1: Int, n2: Int) -> Int {
    
    func printSomma(somma: Int) -> Int {
        return somma
    }
    
    let res = n1 + n2
    
    let finalRes = printSomma(somma: res)
    
    return finalRes
}

print(somma(n1: 10, n2: 4))

Enjoy!


Condividi

Commentami!