Funktionen definierst du mit func; der Rückgabetyp steht nach ->. Parameter haben Argumentlabels, die den Aufruf lesbar machen (gruss(name: "Mia")). Mit _ lässt du das Label weg. Closures sind Funktionen ohne Namen ({ x in x * 2 }) und werden oft an map, filter und sorted übergeben.
func gruss(name: String, ausruf: String = "Hallo") -> String {
return "\(ausruf), \(name)!"
}
print(gruss(name: "Mia"))
func quadrat(_ x: Int) -> Int { x * x }
print(quadrat(7))
let zahlen = [5, 2, 9, 4]
let gerade = zahlen.filter { $0 % 2 == 0 }
let doppelt = zahlen.map { $0 * 2 }
print(gerade, doppelt, zahlen.sorted())Merke
Rückgabetyp mit
->Argumentlabels machen Aufrufe lesbar
Closures:
{ $0 * 2 }
Aufgabe
Sortiere eine Liste von Namen absteigend per Closure.