Zaawansowana konstrukcja switch z dopasowywaniem wzorców
Piszcie wyrażenia switch: dopasowujcie wartości powiązane, zakresy i krotki oraz dodawajcie klauzule where. Zachowujcie kompletność i czytelność gałęzi.
Zaawansowana konstrukcja switch z dopasowywaniem wzorców to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 2 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 3 lekcji w sumie.
Dlaczego dopasowywanie wzorców?
Instrukcja Swift switch dopasowuje wzorce: wyliczenia z wartościami powiązanymi, liczbowe zakresy, krotki oraz warunki where. Jest również wyczerpująca.
Wartości powiązane
Wartości powiązane należy wiązać za pomocą let/var bezpośrednio we wzorcu przypadku.
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")
}Dopasowywanie zakresów
Należy dopasowywać liczbowe zakresy, takie jak 90...100 lub 80..<90. Należy użyć ,, aby dopasować wiele wzorców w jednym przypadku.
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")
}Krotki i where
Należy dopasowywać krotki i doprecyzowywać dopasowanie za pomocą warunku where, aby uzyskać czytelne sprawdzanie podobne do operacji geometrycznych.
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")
}Symbole wieloznaczne i częściowe dopasowanie
Należy używać _, aby ignorować pola lub wiązać tylko potrzebne wartości. Należy dbać o to, aby gałęzie były małe i czytelne.
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")
}Wskazówki
Wskazówki:
- W pierwszej kolejności należy preferować konkretne przypadki; default należy pozostawić dla rzadkich pozostałych przypadków.
- Warto wiązać wartości za pomocą case let i uszczegóławiać dopasowanie przy użyciu where.
- Typy wyliczeniowe należy projektować tak, aby w miarę możliwości switch obejmował wszystkie przypadki bez default.
Możliwości switch
Szybkie sprawdzenie: Dlaczego switch w języku Swift jest bardziej ekspresywny?
Podsumowanie
Podsumowanie: Należy używać switch do dopasowywania wzorców — wiązać dane typów wyliczeniowych, dopasowywać zakresy, łączyć krotki i filtrować za pomocą where — z zachowaniem kompletności.
Często zadawane pytania
Czy lekcja „Zaawansowana konstrukcja switch z dopasowywaniem wzorców” jest bezpłatna?
Tak — pełny tekst „Zaawansowana konstrukcja switch z dopasowywaniem wzorców” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Zaawansowana konstrukcja switch z dopasowywaniem wzorców”?
Piszcie wyrażenia switch: dopasowujcie wartości powiązane, zakresy i krotki oraz dodawajcie klauzule where. Zachowujcie kompletność i czytelność gałęzi. Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Swift Academy?
Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 3.
Ile czasu zajmuje lekcja „Zaawansowana konstrukcja switch z dopasowywaniem wzorców”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?
Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy zaawansowanego użycia enums
- Zaawansowana konstrukcja switch z dopasowywaniem wzorców
- Modelowanie stanów skończonych