Złożone przypadki i fallthrough
Łączenie przypadków i świadome używanie fallthrough.
Złożone przypadki i fallthrough to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 4 z 4. 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 4 lekcji w sumie.
Przypadki złożone
Pojedynczy przypadek może dopasować kilka wartości rozdzielonych przecinkami: case "a", "b":. Dla wszystkich wymienionych wartości zostanie wykonany ten sam kod.
let letter = "a"
switch letter {
case "a", "e", "i", "o", "u":
print("Vowel")
default:
print("Consonant")
}Dlaczego używać przypadków złożonych
Przypadki złożone pozwalają uniknąć powielania identycznych ciał. Grupują wartości, które powinny zachowywać się tak samo.
let day = 6
switch day {
case 6, 7:
print("Weekend")
case 1, 2, 3, 4, 5:
print("Weekday")
default:
print("Invalid day")
}Przypadki złożone z zakresami
W jednym przypadku złożonym można łączyć zakresy i pojedyncze wartości.
let code = 204
switch code {
case 200, 201, 204:
print("Success")
case 400...499:
print("Client error")
default:
print("Other")
}Przypadki złożone i wiązanie
Podczas wiązania w przypadku złożonym każda alternatywa musi wiązać te same nazwy i mieć te same typy.
let point = (0, 5)
switch point {
case (let v, 0), (0, let v):
print("On an axis at distance \(v)")
default:
print("Off the axes")
}Wprowadzenie do fallthrough
Przypadki w Swift domyślnie nie przechodzą do kolejnych. Słowo kluczowe fallthrough wymusza kontynuowanie wykonania w następnym przypadku.
let n = 1
switch n {
case 1:
print("one")
fallthrough
case 2:
print("two")
default:
print("done")
}Jak działa fallthrough
fallthrough bezwarunkowo przechodzi do ciała następnego przypadku; nie sprawdza ponownie warunku tego przypadku. Należy używać go świadomie.
let level = 3
switch level {
case 3:
print("Level 3 perks")
fallthrough
case 2:
print("Level 2 perks")
fallthrough
case 1:
print("Level 1 perks")
default:
break
}fallthrough pomija wzorce
Ponieważ fallthrough pomija sprawdzanie następnego wzorca, następny przypadek nie może polegać na wiązaniu wartości, ponieważ kod się nie skompiluje.
let x = 10
switch x {
case 10:
print("ten")
fallthrough
default:
print("reached default")
}Przypadki złożone a fallthrough
Aby wykonać ten sam kod dla wielu wartości, należy preferować przypadek złożony. fallthrough warto zachować dla rzeczywiście kaskadowego działania.
let grade = "B"
switch grade {
case "A", "B":
print("Passing")
default:
print("Other")
}Sumowanie z fallthrough
Fallthrough przydaje się do efektów skumulowanych, takich jak wyświetlanie wszystkich korzyści od danego poziomu w dół.
let tier = 2
var perks = [String]()
switch tier {
case 2:
perks.append("Premium")
fallthrough
case 1:
perks.append("Basic")
default:
break
}
print(perks)Łączenie obu mechanizmów
W tym samym switch można używać przypadków złożonych i fallthrough, dobierając każdy mechanizm tam, gdzie najlepiej pasuje.
let n = 0
switch n {
case 0:
print("zero")
fallthrough
case 1, 2:
print("small")
default:
print("large")
}Uwaga dotycząca czytelności
Fallthrough może zaskakiwać czytelników, ponieważ w większości języków jest zachowaniem domyślnym. Warto skomentować intencję albo, jeśli to możliwe, preferować przypadki złożone.
let status = "warn"
switch status {
case "warn", "error":
print("Needs attention")
default:
print("OK")
}Szybkie sprawdzenie
Proszę przetestować przypadki złożone i fallthrough.
Podsumowanie: przypadki złożone i fallthrough
Proszę używać rozdzielanych przecinkami złożonych przypadków, aby współdzielić jedno ciało dla kilku wartości. Jawnego słowa kluczowego fallthrough należy używać tylko wtedy, gdy wykonanie ma celowo przejść do następnego przypadku.
let n = 2
switch n {
case 1, 2: print("small")
default: print("big")
}Często zadawane pytania
Czy lekcja „Złożone przypadki i fallthrough” jest bezpłatna?
Tak — pełny tekst „Złożone przypadki i fallthrough” 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 4 lekcji w sumie.
Co nauczysz się w „Złożone przypadki i fallthrough”?
Łączenie przypadków i świadome używanie fallthrough. Ć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 4 z 4.
Ile czasu zajmuje lekcja „Złożone przypadki i fallthrough”?
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
- Wyczerpujący switch dla wartości
- Dopasowywanie zakresów i krotek
- Wiązanie wartości i klauzule where
- Złożone przypadki i fallthrough