[Swift]: Einführung Teil 1 – Datentypen, Variablen/Konstanten u. sonstige Kleinigkeiten

Wie die meisten wohl mitbekommen haben dürften wurde auf der WWDC von Apple eine neue Programmiersprache vorgestellt – Swift. Ich habe mittlerweile die ersten 300 Seiten des von Apple über iBooks bereitgestellten Buches durchgelesen und möchte nun die Sprache nach und nach in einzelnen Blogbeiträgen vorstellen. Im ersten Teil geht es um Datentypen – wie kann ich diese deklarieren, was gibt es, usw.

Als erstes sei gleich mal erwähnt, Swift braucht keine „;“ am Ende einer Zeile/eines Befehls.

Variablen und Konstanten

Variablen deklariert man in Swift mit var, Konstanten mit let, außerdem ermittelt Swift den Typ der Variable/Konstante selbst – sofern diese bei der Deklaration gleich einen Wert zugewiesen bekommt. Andernfalls muss der Datentyp nach einem „:“ angegeben werden:

var myVariable = "Variable" // Deklaration einer Variable
let myConstant = "Constant" // Deklaration einer Konstante

// Wird die Variable nicht gleich befüllt muss der Datentyp angegeben werden
var myString: String
myString = "Hallo Welt"

Auch wenn ein Wert zugewiesen wird kann der Datentyp mit angegeben werden, damit auch sicher der richtige Datentyp verwendet wird:

var zahl = 5 // zahl ist vom Typ "int", will man einen "double" als Datentyp muss dies explizit angegeben werden
var myDouble: Double = 5.5
Ermitteln von max-/min-Integer-Werten

Über die Funktion min bzw. max kann von Integern – wie der Name schon sagt – der max-/min-Wert ermittelt werden:

var minIntegerValue = Int.min
var maxIntegerValue = Int.max
Tuple

Tuple können in Swift ganz einfach erzeugt werden. Einfach in „()“ durch Komma getrennt die Werte angeben und schon hat man ein Tuple, der Zugriff erfolgt über einen fortlaufenden Index:

// Einen Tuple erzeugen
var myTuple = ("Tuple", "mit", 4, "Werten")
// Einen Tuple auslesen
var (wert1, wert2, wert3, wert4) = myTuple

Wie oben zu sehen ist das auslesen eines Tuples ziemlich einfach. In diesem Beispiel haben wir 4 Variablen (wert1, wert2, wert3, wert4), Dabei haben die Variablen wert1, wert2 und wert4 den Datentyp String während wert3 ein Integer ist.
Möchte man nur einem Wert aus dem Tuple haben (z. B. den 3en Wert), können andere Werte mit „_“ ignoriert werden:

// Ignoriert den ersten, zweiten und vierten Wert
var (_, _, wert, _) = myTuple

Bei einem normalen Tuple können die hinterlegten Werte über einen Index abgerufen werden, benennt man die Elemente des Tuples, können die Werte über einen Index oder den Namen abgerufen werden:

// Normalen Tuple erzeugen
var myTuple = ("Wert1", 5)
// Auf den ersten Wert zugreifen
var myTuple.0
// Auf den zweiten Wert zugreifen
var myTuple.1

// Tuple mit benannten Werten erzeugen
var myTuple2 = (wert1: "Wert1", wert2: 5)
// Auf den ersten Wert zugreifen
myTuple2.wert1
// Auf den zweiten Wert zugreifen
myTuple2.wert2

Mit einem Tuple können auch mehrere Werte gleichzeitig befüllt werden:

// Zwei Konstanten (X als Integer mit Wert = 5, Y als String mit Wert = "Servus)
let (x, y) = (5, "Servus")
typealias

Mit typealias kann für einen bestehenden Datentyp ein anderer Name vergeben werden:

// MyDefaultInteger = UInt32
typealias MyDefaultInteger = UInt32
// myInteger ist vom Typ "UInt32"
var myInteger: MyDefaultInteger = 42
Optionals

Wenn man hinter den Datentyp bei der Deklaration ein „?“ macht, definiert man eine „optionale“ Variable. Damit kann der Variablen nil zugewiesen werden. Das funktioniert auch bei einfachen Datentypen.

// Optional definieren (hat standardmaessig den "Wert" "nil")
var myString: String?
// Wert zuweisen
myString = "Hallo Welt"

// Pruefen ob ein Wert vorhanden ist und eine entsprechende Meldung ausgeben
if let s = myString {
    println("\"myString\" enthält einen Wert")
} else {
    println("\"myString\" enthält keinen Wert")
}

Du hast Fragen, Anregungen, o. ä.? Ich freue mich wenn du einen Kommentar hinterlässt!

Schreibe einen Kommentar

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