Wyczerpujący switch dla wartości
Uwzględnianie wszystkich przypadków lub użycie gałęzi domyślnej.
Wyczerpujący switch dla wartości to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 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.
Działanie switch
switch porównuje wartość z kilkoma przypadkami i wykonuje pierwszy pasujący. Jest czytelną alternatywą dla długich łańcuchów if/else-if.
let day = 3
switch day {
case 1:
print("Monday")
case 2:
print("Tuesday")
case 3:
print("Wednesday")
default:
print("Other")
}Brak niejawnego przechodzenia dalej
W przeciwieństwie do C przypadki w Swift nie przechodzą automatycznie do kolejnych. Po wykonaniu pasującego przypadku switch się kończy. break nie jest potrzebne.
let n = 1
switch n {
case 1:
print("one")
case 2:
print("two")
default:
print("many")
}Switch musi być wyczerpujący
Switch musi obejmować każdą możliwą wartość. W przypadku Int nie można wymienić ich wszystkich, dlatego należy podać przypadek default.
let code = 500
switch code {
case 200:
print("OK")
case 404:
print("Not Found")
default:
print("Unhandled: \(code)")
}Przypadek default
Przypadek default przechwytuje wszystko, czego nie dopasowano wcześniej. Musi znajdować się na końcu.
let grade = "X"
switch grade {
case "A":
print("Excellent")
case "B":
print("Good")
default:
print("Needs review")
}Switch dla napisów
Switch działa z każdą wartością porównywalną, w tym z napisami.
let command = "start"
switch command {
case "start":
print("Starting")
case "stop":
print("Stopping")
default:
print("Unknown command")
}Brak pustych przypadków
Każdy przypadek musi zawierać co najmniej jedną instrukcję. Jeśli przypadek rzeczywiście ma nic nie robić, należy zapisać break.
let n = 2
switch n {
case 1:
print("one")
case 2:
break
default:
print("other")
}
print("done")Switch jako instrukcja
Switch wykonuje instrukcje; sam nie zwraca wartości. Aby utworzyć wartość, należy przypisać ją w każdym przypadku albo użyć switch do wywoływania funkcji.
let level = 2
var label: String
switch level {
case 1: label = "low"
case 2: label = "mid"
default: label = "high"
}
print(label)Switch dla Bool
Można użyć switch dla wartości Bool z przypadkami true i false. Przypadek default nie jest potrzebny, ponieważ oba przypadki są uwzględnione.
let isReady = true
switch isReady {
case true:
print("Go")
case false:
print("Wait")
}Enum nie wymaga default
Gdy switch dla enum obsługuje każdy przypadek, jest już wyczerpujący i przypadek default nie jest potrzebny.
enum Direction { case north, south }
let d = Direction.north
switch d {
case .north: print("Up")
case .south: print("Down")
}Czytelna logika wielowariantowa
Switch porządkuje decyzje wielowariantowe. Każdy wynik znajduje się we własnym, oznaczonym przypadku, który łatwo przejrzeć i rozszerzyć.
let score = 72
var result: String
switch score {
case 90...100: result = "A"
case 80..<90: result = "B"
case 70..<80: result = "C"
default: result = "F"
}
print(result)Położenie default
default musi być ostatnim przypadkiem. Umieszczenie go wcześniej sprawiłoby, że późniejsze przypadki byłyby nieosiągalne, czego Swift zabrania.
let x = 7
switch x {
case 0:
print("zero")
case 7:
print("seven")
default:
print("something else")
}Szybkie sprawdzenie
Proszę przetestować wyczerpujący switch.
Podsumowanie: wyczerpujący switch dla wartości
Swiftowy switch dopasowuje pierwszy przypadek, nigdy nie przechodzi niejawnie do kolejnego i musi być wyczerpujący. Dla otwartych typów, takich jak Int lub String, należy użyć default; enum, którego wszystkie przypadki zostały uwzględnione, nie wymaga default.
let n = 3
switch n {
case 1: print("a")
default: print("b")
}Często zadawane pytania
Czy lekcja „Wyczerpujący switch dla wartości” jest bezpłatna?
Tak — pełny tekst „Wyczerpujący switch dla wartości” 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 „Wyczerpujący switch dla wartości”?
Uwzględnianie wszystkich przypadków lub użycie gałęzi domyślnej. Ć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 1 z 4.
Ile czasu zajmuje lekcja „Wyczerpujący switch dla wartości”?
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