Leistungsfähiges switch mit Pattern Matching
Schreiben Sie ausdrucksstarke Switches: Vergleichen Sie assoziierte Werte, Bereiche und Tupel und fügen Sie where-Klauseln hinzu. Halten Sie die Zweige vollständig und lesbar.
Leistungsfähiges switch mit Pattern Matching ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. 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 3 Lektionen.
Warum Pattern Matching?
Swift switch gleicht Muster ab: Enumerationen mit zugehörigen Werten, numerische Bereiche, Tupel und where-Bedingungen. Außerdem ist es vollständig.
Zugehörige Werte
Binden Sie zugehörige Werte mithilfe von let/var direkt im Fallmuster.
enum Network {
case success(code: Int, body: String)
case failure(message: String)
case offline
}
let r1: Network = .success(code: 200, body: "OK")
switch r1 {
case .success(let code, let body):
print("success", code, body)
case .failure(let msg):
print("fail:", msg)
case .offline:
print("offline")
}Bereichsabgleich
Gleichen Sie numerische Bereiche wie 90...100 oder 80..<90 ab. Verwenden Sie ,, um mehrere Muster in einem Fall abzugleichen.
let score = 73
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 60..<80:
print("C")
case 0..<60:
print("D")
default:
print("invalid")
}Tupel und where
Gleichen Sie Tupel ab und verfeinern Sie die Prüfung mit einer where-Bedingung für verständliche geometrieähnliche Prüfungen.
let point = (x: -2, y: 3)
switch point {
case (0, 0):
print("origin")
case (let x, 0):
print("x-axis at", x)
case (0, let y):
print("y-axis at", y)
case (let x, let y) where x > 0 && y > 0:
print("Q1:", x, y)
default:
print("somewhere else")
}Platzhalter und Teilübereinstimmungen
Verwenden Sie _, um Felder zu ignorieren oder nur die benötigten Felder zu binden. Halten Sie die Zweige klein und übersichtlich.
enum Event {
case message(String, priority: Int)
case ping
}
let e: Event = .message("update", priority: 1)
switch e {
case .message(let text, priority: _):
print("msg:", text) // ignore priority with _
case .ping:
print("ping")
}Tipps
Tipps:
- Bevorzugen Sie zuerst spezifische Fälle; verwenden Sie default nur für die seltenen übrigen Fälle.
- Binden Sie Werte mit case let und präzisieren Sie die Auswahl mit where.
- Gestalten Sie Enums so, dass switch nach Möglichkeit alle Fälle ohne default abdecken kann.
Die Leistungsfähigkeit von switch
Kurzfrage: Warum ist Swifts switch ausdrucksstärker?
Zusammenfassung
Zusammenfassung: Verwenden Sie switch, um Muster abzugleichen – binden Sie Enum-Nutzdaten, zielen Sie auf Bereiche, kombinieren Sie Tupel und filtern Sie mit where –, während alle Fälle abgedeckt bleiben.
Häufig gestellte Fragen
Ist die Lektion „Leistungsfähiges switch mit Pattern Matching“ kostenlos?
Ja — der vollständige Text von „Leistungsfähiges switch mit Pattern Matching“ 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 3 Lektionen.
Was lerne ich in „Leistungsfähiges switch mit Pattern Matching“?
Schreiben Sie ausdrucksstarke Switches: Vergleichen Sie assoziierte Werte, Bereiche und Tupel und fügen Sie where-Klauseln hinzu. Halten Sie die Zweige vollständig und lesbar. 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 2 von 3.
Wie lange dauert die Lektion „Leistungsfähiges switch mit Pattern Matching“?
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
- Leistungsfähige Enums – Grundlagen
- Leistungsfähiges switch mit Pattern Matching
- Modellierung endlicher Zustände