6.0 Funktionen (Swift)

Um zu erkennen was eine Funktion ist, musst du den Namen wortwörtlichen verstehen. Wir können eine Funktion so programmieren, dass sie uns eine einzige Aufgabe immer wieder erledigt. Man muss sie sich wie ein Fließbandarbeiter vorstellen, der zwar nicht immer gebraucht wird, aber wenn wir ihn rufen, dann erledigt er uns immer wieder die gleiche Aufgabe. Wir können uns beliebig viele Fließbandarbeiter zulegen, und sie sogar miteinander arbeiten lassen. So ein Fließbandarbeiter kann sowohl ohne, also auch mit Werkzeug arbeiten. Er kann eine Aufgabe einfach nur erledigen, oder sie uns aushändigen. Je nach dem, was wir mit dem Endprodukt anstellen wollen.

6.1  Meine erste Funktion

Nehmen wir an, wir kreieren uns einen Fließbandarbeiter, der eine ganz simple Aufgabe erledigen soll. Er soll lediglich „Hallo Welt“ sagen. Um eine Funktion zu erstellen, schreiben wir allem voran „func“. Nachfolgend benennen wir die Funktion. Bei der Benennung zu beachten ist, dass wir sie nach dem gewohnten Schema der Benennung einer Variable benennen. Das heißt also, der erste Buchstabe wird klein geschrieben. Sollte der Name aus zusammengesetzten Wörtern bestehen, so wird nur der erste Buchstabe des ersten Wortes klein geschrieben. In unserem Beispiel habe ich die Funktion „ersteFunktion“ genannt. Unmittelbar nach dem Namen benötigen wir eine Klammer für die Parameter, dazu kommen wir später. Zu guter Letzt schreiben wir in geschweifte Klammern die gewünschte Aufgabe hinein. In diesem Fall gibt die Funktion den Text „Hallo Welt“ aus.

func ersteFunktion() {
    print("Hallo Welt")
}

Du wirst jedoch schnell merken, dass in der Konsole nichts erscheinen wird. Damit eine Funktion ihre Aufgabe ausführt, muss sie immer aufgerufen werden. Das machen wir, indem wir den Namen der Funktion mit den Klammern schreiben.
ersteFunktion()
 

6.2  Funktion mit Parameter

Ein Parameter ist genau das, wie wir sie aus der Mathematik kennen. Nämlich eine Variable für einen Wert, den wir noch nicht kennen. Den Wert geben wir später mit, wenn wir die Funktion aufrufen. 

Nehmen wir an, wir möchten eine Funktion, die einen beliebigen Wert des Datentyps Int mit fünf addiert. Hierfür schreiben wir in die Klammern den Namen der Variabel und nach dem Doppelpunkt den Datentyp. Innerhalb der Funktion schreiben wir, dass sie den Wert von „zahl“ mit fünf addieren und das Ergebnis auf die Konsole ausgeben soll.

func addiereMitFünf(zahl: Int) {
    print(zahl + 5)
}


Aufrufen tun wir die Funktion so, dass sie der Variabel „zahl“ den Wert 10 übergibt. Dies kommt in die Klammern!

addiereMitFünf(zahl: 10) 

Das gleich können wir natürlich auch mit mehreren Parametern machen. Dafür trennen wir die einzelnen Parameter mit einem Komma ab. Der Rest bleibt gleich.

func addiere(zahl1: Int, zahl2: Int) {
    print(zahl1 + zahl2)
}


addiere(zahl1: 20, zahl2: 10)

 

6.3 Funktion mit Rückgabewert

Um die Metapher des Fließbandarbeiters nochmals aufzugreifen, so ist eine Funktion mit Rückgabewert ein Fließbandarbeiter der einem das Endprodukt persönlich aushändigt. Ganz wichtig ist, dass wir den Rückgabewert definieren. Die Funktion muss wissen, welchen Datentyp die Rückgabe haben soll. Dafür schreiben wir einen Bindestrich und ein grösser als in Form eines Pfeiles der nach rechts zeigt und anschließend den Datentyp.  

Das innere der Funktion könne wir, wie bei jeder anderen auch, so gestalten, wie wir es wollen und wie es die jeweilige Aufgabe verlangt. Einziger Unterschied ist, dass wir immer einen „return“ Wert haben. Im Falle unseres Beispiels, gibt uns die Funktion den Wert der Addition aus „zahl1“ und „zahl2“ zurück. Was wir daraus machen, liegt ganz bei uns.
func gibAddition(zahl1: Int, zahl2: Int) -> Int{
return zahl1 + zahl2
}


Möchtest du das Ergebnis der Addition auf der Konsole ausgeben, so musst du die Funktion innerhalb einer Konsolenausgabe aufrufen.

print(gibAddition(zahl1: 2, zahl2: 4))

 

Stelle uns deine Frage

 


Julien Rösch


 

Amazon

 

E-Book

 

Gefällt dir CodeStarter?