Menu
Coddy logo textTech

Guard Let

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

Während if let ein Optional entpackt und Code ausführt, wenn ein Wert vorhanden ist, verfolgt guard let den umgekehrten Ansatz. Es beendet die Ausführung frühzeitig, wenn ein Wert fehlt. Das ist besonders nützlich innerhalb von Funktionen, wenn du zuerst den „schlechten“ Fall behandeln und die Hauptlogik übersichtlich halten möchtest.

func greet(name: String?) {
    guard let unwrappedName = name else {
        print("No name provided")
        return
    }
    print("Hello, \(unwrappedName)!")
}

greet(name: "Taylor") // Hallo, Taylor!
greet(name: nil)      // Kein Name angegeben

Die Anweisung guard let prüft, ob name einen Wert enthält. Wenn dies nicht der Fall ist, wird der else-Block ausgeführt und die Funktion mit return beendet. Wenn das optionale Element einen Wert enthält, wird dieser in unwrappedName entpackt. Und hier liegt der wesentliche Unterschied zu if let: Die entpackte Variable bleibt für den Rest der Funktion verfügbar, nicht nur innerhalb eines Blocks.

Dieses Muster des „frühen Verlassens“ hält deinen Code lesbar, indem es Fehlerfälle von vornherein behandelt, sodass die Hauptlogik nicht innerhalb mehrerer if-Anweisungen verschachtelt ist.

challenge icon

Aufgabe

Einfach
Schreibe eine Funktion validateAge, die einen optionalen Parameter age entgegennimmt und guard let verwendet, um ihn sicher auszupacken.

Wenn das Alter nil ist, gib "Invalid age" zurück. Andernfalls gib "Age: [value]" zurück, wobei [value] das ausgepackte Alter ist.

Parameter:

  • age (Int?): Eine optionale Ganzzahl, die das Alter einer Person darstellt

Rückgabewert: Eine Zeichenkette: entweder "Invalid age", wenn die Eingabe nil ist, oder "Age: [value]" mit dem ausgepackten Wert.

Beispiel: Wenn age 25 ist, gib "Age: 25" zurück. Wenn age nil ist, gib "Invalid age" zurück.

Probier es selbst

func validateAge(age: Int) -> String {
    // Schreibe hier den Code
}
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