0Pricing
Swift Academy · Lekcja

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

  1. Wyczerpujący switch dla wartości
  2. Dopasowywanie zakresów i krotek
  3. Wiązanie wartości i klauzule where
  4. Złożone przypadki i fallthrough
← Powrót do Swift Academy