Tag 1 - Einfache Datentypen

01. Jan. 2024

Tag 1

Variablen

Variablen sind Speichermöglichkeiten für programmspezifische Daten. Sie werden Variablen genannt, weil variabel sind, also variiert oder geändert werden können. Eine Variabel wird mit dem Schlüsselwort var deklariert:

var str = "Hallo, Welt!"

Mit dem obigen Code wurde eine neue Variable namens str hergestellt. In einem Playground von Xcode wird ihr Wert "Hello, Welt!" ausgegeben. Auf der rechten Seite des Playgrounds sieht man ebenfalls den Wert der Variable. Ein neuer Wert wird wie folgt zugewiesen:

str = "Auf Wiedersehen!"

Da die Variable bereits deklariert ist, muss beim zweiten Mal das Schlüsselwort var nicht mehr benutzt werden. Würde man bei einer erneuten Zuweisung die Variable neu deklarieren, würde Xcode einen Fehler ausgeben.

Konstanten

Mit dem Schlüsselwort let können Konstanten erzeugt werden, deren Werte eben nicht geändert werden können:

let name = "Zangs"

Somit wird sichergestellt, dass der Wert nicht verfälscht werden kann, was die Datensicherheit verbessert. Es ist daher bevorzugt, eine Konstante zu benutzen, wenn ihr Wert sich nach der Deklaration nie ändert. Xcode gibt sogar eine Warnung aus, wenn man eine Variable deklariert und ihr Wert unverändert bleibt.

Datentypen

Ganzzahlen

In Swift kann jede Variable nur einen Datentyp speichern, was Swift zu einer typsicheren Programmiersprache macht. Im obigen Beispiel wurde eine Variable vom Typen String gespeichert. Ein anderer Datentyp wäre die Ganzzahl die als Int für Integer bezeichnet wird:

var age = 32

Bei längeren Werten kann auch ein Unterstrich benutzt werden, um zwischen Tausend, Millionen, Milliarden usw. zu unterscheiden:

var population = 8_500_000

Aufgrund der Typsicherheit kann man also der Int-Variable keinen String-Wert zuzuweisen.

Zeichenketten

Wie eine Zeichenkette als Variable deklariert werden kann, ist oben bereits gezeigt. Eine längere u.a. mehrzeilige Variable kann wie folgt deklariert werden:

var str1 = """
Dies ist ein Text,
der sich über mehrere
Zeilen erstreckt.
"""

Hier werden die Zeilenumbrüche automatisch im String übernommen. Will man dies vermeiden, kann man jede Zeile mit dem Backslash \ beenden:

var str2 = """
Dies ist ein Text, \
der sich über mehrere \
Zeilen erstreckt, \
aber nur eine Zeile enthält.
"""

Gleitkommazahlen

Aly Typ Double werden Gleitkommazahlen gespeichert:

var pi = 3.141

Swift erkennt dies anhand des Dezimalpunktes (kein Komma!) in der Zahl. Der Begriff Double deutet auf eine Gleitkommazahl mit doppelter Präzision hin. Denn früher waren die Gleitkommazahlen als Float nur 32 Bit lang, später dann 64 Bit, also doppelt so lang. Swift nutzt daher den Begriff Double um die höhere Präzision zu kennzeichnen.

Die beiden Typen mit denen Zahlen gespeichert werden sind also Int und Double. Wenn nun zwei Variablen die Zahl 1 enthalten, aber einmal ein Int und einmal ein Double gespeichert wurde, kann man diese nicht addieren. Denn es ist nicht vollständig typensicher, zwei Werte verschiedener Datentypen ohne weiteres zu verarbeiten, und deshalb erlaubt es Swift auch nicht.

Wahrheitswerte

Mit true und false werden Wahrheitswerte (boolesche Werte) gespeichert:

var fun = true

Der dazugehörige Datentyp nennt sich Bool.

Erzeugung von Zeichenketten

Will man nun z.B. einen Int Wert in einen String einbetten, kann man dies durch die Interpolation erreichen:

var str3 = "Ich bin \(age) Jahr/e alt"

Swift wandelt automatisch jeden Typen in einen String um. Neben dem Einbetten von Werten, kann auch Code ausgeführt werden!

Typenkennung

In den obigen Beispielen wurden die Datentypen immer von Swift automatisch erkannt (type inferrence auf Englisch). Will man explizit den Typ angeben, tut man dies wie folgt:

let name: String = "Max"
let year: Int = 1991
let height: Double = 1.75
let canCode: Bool = true

Es kann mehrere Gründe geben, warum man Swift den Datentyp nicht automatisch bestimmen lassen mag. Z.B.: