Optional-Muster in switch und for
Ordnen Sie Optionals mit case-let-Mustern zu.
Optional-Muster in switch und for ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Optionals in switch
Sie können direkt über ein Optional switchen. Die Cases .some(value) und .none passen zu einem vorhandenen Wert beziehungsweise zu nil.
let value: Int? = 7
switch value {
case .some(let n):
print("Got \(n)")
case .none:
print("Nothing")
}Das ?-Kurzformmuster
case let x? ist eine Kurzform für .some(x). Das abschließende ? bedeutet „in x entpacken“.
let value: String? = "Swift"
switch value {
case let text?:
print(text.uppercased())
case nil:
print("none")
}nil direkt abgleichen
Sie können den nil-Fall mit dem Literal nil statt mit .none abgleichen, was natürlicher lesbar ist.
let value: Int? = nil
switch value {
case let n?:
print(n)
case nil:
print("no value")
}Bestimmte Werte abgleichen
Sie können bestimmte entpackte Werte mit dem allgemeinen Entpackmuster kombinieren.
let status: Int? = 404
switch status {
case 200?:
print("OK")
case 404?:
print("Not Found")
case let code?:
print("Other: \(code)")
case nil:
print("No status")
}for case let in Schleifen
Beim Durchlaufen von Optionals überspringt for case let x? in array automatisch nil-Elemente und entpackt die übrigen Werte.
let items: [Int?] = [1, nil, 3, nil, 5]
for case let n? in items {
print(n)
}So filtert for case
Das Muster case let n? passt nur zu Elementen, die nicht nil sind. Daher wird der Schleifenrumpf ausschließlich für vorhandene Werte ausgeführt.
let names: [String?] = ["Ann", nil, "Bo"]
for case let name? in names {
print(name.count)
}Entsprechung mit if let
Sie könnten dasselbe mit if let innerhalb einer gewöhnlichen Schleife erreichen, aber for case let x? ist prägnanter.
let items: [Int?] = [2, nil, 4]
for item in items {
if let item {
print(item)
}
}Optionals mit Enums abgleichen
Das Optional-Muster lässt sich mit anderen Mustern kombinieren, etwa um bestimmte Werte innerhalb des Optionals abzugleichen.
let codes: [Int?] = [1, 2, nil, 3]
for case let c? in codes where c % 2 == 1 {
print("odd: \(c)")
}where mit for case
Fügen Sie einer for case-Schleife eine where-Klausel hinzu, um nach dem Entpacken weiter zu filtern.
let scores: [Int?] = [40, nil, 80, 95]
for case let s? in scores where s >= 80 {
print("high: \(s)")
}switch mit where
Innerhalb eines switch über ein Optional kann die entpackte Bindung mit einer where-Klausel weiter eingeschränkt werden.
let value: Int? = 12
switch value {
case let n? where n > 10:
print("big: \(n)")
case let n?:
print("small: \(n)")
case nil:
print("none")
}Warum Sie diese Muster verwenden sollten
Mit Optional-Mustern können Sie vorhandene und fehlende Werte in einer einzigen vollständigen Struktur behandeln und so verstreute nil-Prüfungen reduzieren.
let result: String? = nil
switch result {
case let r?:
print("Value: \(r)")
case nil:
print("Empty result")
}Kurzer Test
Testen Sie Optional-Muster.
Zusammenfassung: Optional-Muster in switch und for
Verwenden Sie case let x? (die Kurzform für .some) und case nil in einem switch sowie for case let x?, um nicht nil gesetzte Elemente zu durchlaufen und dabei zu entpacken. Mit where können Sie die Auswahl zusätzlich einschränken.
let xs: [Int?] = [10, nil, 20]
for case let x? in xs { print(x) }Häufig gestellte Fragen
Ist die Lektion „Optional-Muster in switch und for“ kostenlos?
Ja — der vollständige Text von „Optional-Muster in switch und for“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Optional-Muster in switch und for“?
Ordnen Sie Optionals mit case-let-Mustern zu. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Swift Academy zu starten?
Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Optional-Muster in switch und for“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?
Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- if let und Kurzform-Bindings
- guard let für vorzeitiges Beenden
- Mehrere Optionals binden
- Optional-Muster in switch und for