Swift Language Quali sono le estensioni?

Esempio

Le estensioni vengono utilizzate per estendere la funzionalità dei tipi esistenti in Swift. Le estensioni possono aggiungere pedici, funzioni, inizializzatori e proprietà calcolate. Possono anche rendere i tipi conformi ai protocolli .

Supponiamo che tu voglia essere in grado di calcolare il fattoriale di un Int . È possibile aggiungere una proprietà calcolata in un'estensione:

extension Int {
    var factorial: Int {
        return (1..<self+1).reduce(1, combine: *)
    }
}

Quindi puoi accedere alla proprietà come se fosse stata inclusa nell'API Int originale.

let val1: Int = 10

val1.factorial  // returns 3628800