Menu
Coddy logo textTech

Was sind Optionals

Teil des Abschnitts Grundlagen der Swift-Journey von Coddy. Lektion 11 von 86.

Manchmal hat eine Variable möglicherweise gar keinen Wert. In Swift stellen wir das Fehlen eines Werts mithilfe von optionals dar. Ein optional besagt "es gibt einen Wert, und dieser ist gleich x" oder "es gibt überhaupt keinen Wert."

Um ein optional zu deklarieren, füge ein Fragezeichen ? nach dem Typ hinzu:

var nickname: String? = "Alex"
var age: Int? = nil

Im Beispiel oben enthält nickname den Wert "Alex", während age den Wert nil enthält — Swifts Art zu sagen, dass kein Wert vorhanden ist. Normale Variablen können nicht nil sein, Optionals hingegen schon.

Stellen Sie sich ein optional wie eine Schachtel vor, die etwas enthalten kann oder leer sein kann. Bevor Sie den Inhalt verwenden, müssen Sie prüfen, ob sich tatsächlich etwas darin befindet. Dies ist ein zentrales Sicherheitsmerkmal in Swift, das hilft, Abstürze durch unerwartet fehlende Werte zu verhindern.

var score: Int? = 100
print(score) // Optional(100)

score = nil
print(score) // nil

Beachten Sie, dass beim Drucken eines Optionals mit einem Wert Optional(100) anstelle von nur 100 angezeigt wird. Um auf den tatsächlichen Wert darin zuzugreifen, müssen Sie das Optional entpacken (unwrap) — was wir in den kommenden Lektionen behandeln werden.

challenge icon

Aufgabe

Einfach

Schreibe eine Funktion createOptional, die eine Zahl entgegennimmt und einen String zurückgibt, der zeigt, wie diese Zahl aussehen würde, wenn sie als ein Optional gedruckt wird.

Wichtig: Diese Funktion gibt einen String zurück. Du schreibst Text, der wie ein Optional aussieht, du gibst keinen tatsächlichen Optional-Wert zurück.

Wenn du ein Optional druckst, das einen Wert enthält, zeigt Swift es im Format Optional(value) an.

Erinnerung zur Funktionssyntax: In Swift verwendet eine Funktion, die einen Wert zurückgibt, den Pfeil ->, um den Rückgabetyp anzugeben, und das Schlüsselwort return, um das Ergebnis zurückzusenden. Zum Beispiel:

func myFunction(param: Int) -> String {<br>    return "result"<br>}

Du kannst den Rückgabestring mithilfe von String-Interpolation erstellen: "Optional(\(value))" — der Teil \(value) fügt die Zahl direkt in den String ein.

Parameter:

  • value (Int): Die Zahl, die im Optional-Format verpackt werden soll

Rückgabe: Ein String im Format Optional(value), wobei value die übergebene Zahl ist.

Beispiel: Wenn die Eingabe 100 ist, gib "Optional(100)" zurück.

Probier es selbst

func createOptional(value: Int) -> String {
    // Gib einen String zurück, der wie ein Optional aussieht, kein echtes Optional
    // Füge die Zahl mit String-Interpolation zwischen die Klammern ein
    return "Optional()"
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Swift-Playground