Funktionen in Swift

Funktionen sind Code-Blöcke, die eine bestimmte Aufgabe ausführen. Es bietet sich an, jenen Code in einer Funktion zusammenzufassen, der wiederholt ausgeführt werden soll. Die Funktion kann bei Bedarf über ihren Namen aufgerufen werden. Somit lassen sich Code-Wiederholungen vermeiden.— Für Funktionen existieren übrigens noch weitere Bezeichnungen. So spricht man auch von Methoden, Prozeduren oder auch Subroutinen.

Eine simple Funktion

In Swift sieht eine einfache Funktion folgendermaßen aus:

func myFunction() {
    print("This is a function!")
}

Eine Funktion beginnt mit dem Schlüsselwort func, gefolgt vom Namen der Funktion (myFunction) und den Parametern, die in runden Klammern angegeben werden. Es müssen aber — so wie hier — keine Parameter vorhanden sein. Nichtsdestotrotz sind die runden Klammern zwingend erforderlich. Bei den bisher genannten Teilen spricht man vom Funktionskopf (function header). Es folgt dann — in geschweiften Klammern — der Funktionskörper (function body), der den auszuführenden Code enthält. In diesem Beispiel führt der Aufruf der Funktion mit myFunction() zur Ausgabe von „This is a function!“.

Funktionen mit einem Parametern

An eine Funktion können Argumente übergeben werden. Damit dies möglich ist, muss die Funktion einen oder mehrere Parameter haben. Wie bereits erwähnt, werden sie innerhalb der runden Klammern im Funktionskopf aufgeführt. Im folgenden Beispiel kann an die Funktion der auszugebende Text als Argument übergeben werden:

func myFunction(text: String) {
    print(text)
}

myFunction(text: "Hello, World!")
// -> Hello, World!

Der Parameter der Funktion myFunction trägt die schlichte Bezeichnung „text“ und ist vom Typ String. Beim Aufruf diese Funktion muss der Name des Parameter — also „text“ — mit angegeben werden. Durch einen vorangestellten Unterstrich (_) kann dies unterbunden werden:

func myFunction(_ text: String) {
    print(text)
}

myFunction("Hello, World!")
// -> Hello, World!

Funktionen mit mehreren Parametern

Freilich kann eine Funktion auch über mehrere Parameter verfügen:

func twoParametersFunction(text1: String, text2: String) {
    print(text1 + text2)
}

twoParametersFunction(text1: "Hello, ", text2: "World!")

In diesem Beispiel werden text1 und text2 durch den +-Operator zusammengefügt. Stattdessen kann ein neuer String auch durch Interpolation erzeugt werden, wobei die Variablen in Klammern einem Backslash folgen:

func twoParametersFunction(text1: String, text2: String) {
    print("\(text1) \(text2)")
}

twoParametersFunction(text1: "Hello,", text2: "World!")
// -> Hello, World!

Des Weiteren ist es möglich in Swift zwei Parameternamen zu verwenden, einen externen Namen, der verwendet wird, wenn der Funktionsaufruf und einen internen Namen innerhalb der Funktion.

func simpleNameFunction(aName str: String) {
    print("His name is \(str).")
}

simpleNameFunction(aName: "Cicero")
// -> His name is Cicero.

Rückgabewerte

Funktionen in Swift können auch einen Wert zurückgeben. Dies wird durch das Hinzufügen von -> kenntlich gemacht:

func multiplywithtwo(inputValue int: Int) -> Int {
    return int * 2
}

let returnValue = multiplywithtwo(inputValue: 5)
print(returnValue) // -> 10

Diese Funktion hat nur eine Zeile Code (return int * 2). In diesen Fällen kann auf das Schlüsselwort return verzichtet werden:

func multiplywithtwo(inputValue int: Int) -> Int {
    int * 2
}

let returnValue = multiplywithtwo(inputValue: 5)
print(returnValue) // -> 10

Damit kennt ihr nun die Grundlagen zu Funktionen in Swift. Funktionen sind ein mächtiges Werkzeug in der Programmierung, die es euch ermöglichen, Code effizient und übersichtlich zu gestalten. Indem ihr wiederverwendbare Codeblöcke erstellt, könnt ihr nicht nur die Wartbarkeit eures Codes verbessern, sondern auch Fehler reduzieren. Swift bietet dabei zahlreiche Möglichkeiten, Funktionen flexibel zu gestalten.