Kapitel 1: Einleitung / 1.1 Was ist eine Programmiersprache? / 1.1.3 Ein erster Blick

Ohne den Anspruch, bereits jetzt alles verstehen zu wollen, will ich mit Ihnen einen kleinen ersten Blick auf Swift werfen. Nur damit sie sehen, wie es aussieht:

Nochmal Hallo Welt

println("Hallo Welt!")

Listing 1: Hallo Welt.

Hatten wir ja schon. Und: Einfacher gehts nicht. print schreibt etwas auf den Bildschirm, das Anhängsel ln steht für line und sorgt für einen Zeilenumbruch nach der Ausgabe. Die an println anschließende runde Klammer übergibt dem Befehl println einen Parameter, nämlich das, was ausgegeben werden soll.

Ausgegeben werden soll keine Zahl und kein Raumschiff, sondern eine Zeichenkette. Swift wird dies dadurch signalisiert, dass dieser String, wie man Zeichenketten nennt, in doppelte Anführungszeichen “ eingeschlossen wird. Und der String lautet: „Hallo Welt!“

Hallo Welt!

Ausgabe 1: Hallo Welt.

Aufruf einer Funktion

Im Quelltext oben bekommt println einen Parameter übergeben und gibt daraufhin Text aus. Können wir so etwas auch schreiben? Einen Codeblock, der einen Parameter übergeben bekommt und damit etwas macht? Klar können wir das. Zum Beispiel so:

func sayHelloTo(name: String) -> String {
  var grußwort = "Hallo " + name + "!"
  return grußwort
}

var meinGrußwort = sayHelloTo("Odo")
println(meinGrußwort)

Listing 2: Hallo Odo.

Wenn sie sich diesen Quelltext genau ansehen und bereits komplett verstehen, was er macht, dann dürfen Sie zum Ende dieses Kapitels springen.

Falls nicht, gehe ich mit Ihnen den Quelltext von Hallo Odo jetzt mal durch. Wie gesagt, es geht nur darum, einen ersten Eindruck von der Sprache zu gewinnen, Sie müssen noch nicht alles verstehen.

Also: Das Schlüsselwort func leitet eine Funktion ein, ein Stück Code, das ausgeführt wird, wenn die Funktion aufgerufen wird. Dieses Stück Code befindet sich zwischen den geschweiften Klammern { und }.

Auf func folgt der Name der Funktion, sayHelloTo, und darauf in runde Klammern eingeschlossen der Parameter, den man dieser Funktion übergeben muss. Der Parameter hat den Namen name und ist vom Typ String (der Doppelpunkt bedeutet: ist vom Typ).

In der Deklaration der Funktion, also noch vor der geschweiften Klammer und dem eigentlichen Codeblock, wird schließlich noch der Ausgabetyp der Funktion mittels -> (liest sich als: gibt zurück) auf String gesetzt.

Der Funktion sayHelloTo wird also ein String übergeben (auf den man innerhalb des Codeblocks mit name zugreifen kann) und sie gibt einen String zurück. Das steht in der Deklaration der Funktion. Strings sind, wie gesagt, Zeichenketten.

Was macht nun der Codeblock innerhalb der geschweiften Klammern?

Das Schlüsselwort var deklariert eine Variable, gefolgt vom Namen dieser Variable, grußwort. Es folgt ein Gleichheitszeichen, das anzeigt, dass nun der Inhalt dieser Variable kommt.

Auf Variablen kommen wir später noch zu sprechen. Stellen sie sich einstweilen eine Variable wie ein Gefäß vor, in das man etwas hineintun kann. Zum Beispiel ein Glas, in das man Wasser, Milch oder Wein füllen kann. In die Variable grußwort kann man Strings einfüllen.

Und das passiert auch, nämlich rechts vom Gleichheitszeichen: Dort stehen drei Strings, die über Pluszeichen miteinander verbunden werden. Diese Strings sind „Hallo “, der übergebene String name und „!“. Und die Pluszeichen kleben die einzelnen Strings aneinander. Angenommen die Funktion hätte „Benjamin“ übergeben bekommen, dann würde „Hallo “ plus „Benjamin“ plus „!“ insgesamt zu „Hallo Benjamin!“. (Man beachte im Quelltext das Leerzeichen hinter dem Hallo).

Nachdem die Variable grußwort nun gefüllt ist, wird sie in der nächsten Zeile zurückgegeben. Verantwortlich dafür ist das Schlüsselwort return, gefolgt von dem, was zurückgegeben werden soll, also eben von grußwort. Und was bedeutet das, zurückgegeben? Das sehen wir gleich, wenn wir die Funktion aufrufen.

In der ersten Zeile nach der Beschreibung der Funktion wird erneut eine Variable deklariert, diesmal heißt sie meinGrußwort. Bis zum Gleichheitszeichen ist alles bereits bekannt und rechts davon findet nun der Funktionsaufruf statt:

Der Funktion sayHelloTo wird als Parameter der String „Odo“ übergeben. Das sieht syntaktisch, also in Swift beschrieben, genauso aus wie unser Hallo Welt von oben. Wir rufen einen selbstgeschrieben Codeblock mit einem Parameter auf.

Wenn rechts von einem einfachen Gleichheitszeichen ein Funktionsaufruf steht, dann wird in der Variable links von diesem Gleichheitszeichen das gespeichert, was diese Funktion zürückgibt. Und aufgerufen mit „Odo“, gibt unsrere Funktion „Hallo Odo!“ zurück. meinGrußwort wird also mit diesem String belegt.

Schließlich folgt das println zur Ausgabe auf dem Bildschirm. Die Variable meinGrußwort steht zwar innerhalb der runden Klammer, da wir sie an println als Parameter übergeben wollen, aber nicht in Anführungszeichen, weil wir ja den Inhalt der Variable ausgeben wollen, und nicht den String „meinGrußwort“.

Wenn wir nun das Programm starten, erhalten wir folgende Ausgabe:

Hallo Odo!

Ausgabe 2: Hallo Odo.

Kapitel 1.1.3: Ein erster Blick

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.