Swift Academy · Lekcja

Dopasowywanie zakresów i krotek

Używanie switch dla zakresów liczbowych i kształtów krotek.

Lekcja 2 z 413 kroki

Dopasowywanie zakresów i krotek to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 2 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.

Dopasowywanie zakresu

Przypadek może dopasować cały zakres wartości za pomocą operatorów zakresu, takich jak 1...5. Jeśli wartość mieści się w zakresie, przypadek zostanie wykonany.

let score = 85
switch score {
case 0..<50:
    print("Fail")
case 50...100:
    print("Pass")
default:
    print("Invalid")
}

Zakres zamknięty a półotwarty

Zakresów zamkniętych (...) należy używać, aby uwzględnić górną granicę, a zakresów półotwartych (..<), aby ją wykluczyć. Proszę wybierać granice, które się nie nakładają.

let age = 18
switch age {
case 0..<13:
    print("Child")
case 13..<20:
    print("Teen")
default:
    print("Adult")
}

Kolejność przypadków zakresów

Swift sprawdza przypadki od góry do dołu i wykonuje pierwszy pasujący, dlatego niepokrywające się zakresy zapewniają przewidywalne działanie.

let temp = 30
switch temp {
case ..<0:
    print("Freezing")
case 0..<20:
    print("Cool")
case 20...:
    print("Warm")
default:
    print("?")
}

Switch dla krotek

Można użyć switch dla krotki, aby dopasować kilka wartości naraz. Każda pozycja może zawierać literał, zakres albo symbol wieloznaczny _.

let point = (1, 1)
switch point {
case (0, 0):
    print("Origin")
case (_, 0):
    print("On x-axis")
case (0, _):
    print("On y-axis")
default:
    print("Elsewhere")
}

Symbole wieloznaczne w krotkach

Podkreślenie _ dopasowuje dowolną wartość na danej pozycji, pozwalając skupić się na interesujących częściach.

let result = (200, "OK")
switch result {
case (200, _):
    print("Success")
case (_, "Error"):
    print("Has error")
default:
    print("Other")
}

Zakresy wewnątrz krotek

Wzorce krotek mogą używać zakresów na każdej pozycji, umożliwiając rozbudowane dopasowywanie dwuwymiarowe.

let coord = (3, 8)
switch coord {
case (0...5, 0...5):
    print("Bottom-left quadrant")
case (0...5, 6...10):
    print("Top-left quadrant")
default:
    print("Far")
}

Dopasowywanie dokładnych krotek

Można dopasować w pełni określoną krotkę, aby wykryć dokładną kombinację.

let move = ("up", 2)
switch move {
case ("up", 2):
    print("Jump twice up")
case ("down", _):
    print("Going down")
default:
    print("Other move")
}

Klasyfikowanie liczb

Dopasowywanie zakresów pozwala w prosty i bezpośredni sposób przypisać liczbę do odpowiedniej kategorii.

let n = -4
switch n {
case ..<0:
    print("negative")
case 0:
    print("zero")
case 1...:
    print("positive")
default:
    print("?")
}

Zakresy znaków

Ponieważ znaki można porównywać, można dopasowywać nawet zakresy znaków.

let ch: Character = "k"
switch ch {
case "a"..."m":
    print("First half")
case "n"..."z":
    print("Second half")
default:
    print("Not a lowercase letter")
}

Łączenie pozycji krotki

Dopasowywanie krotki uwzględnia wszystkie pozycje jednocześnie; każda pozycja musi pasować, aby przypadek został wykonany.

let weather = (sunny: true, temp: 25)
switch (weather.sunny, weather.temp) {
case (true, 20...):
    print("Nice and warm")
case (true, _):
    print("Sunny but cool")
default:
    print("Not sunny")
}

Dlaczego to jest przydatne

Wzorce zakresów i krotek pozwalają jednej instrukcji switch wyrazić logikę, która wymagałaby wielu zagnieżdżonych instrukcji if, zachowując płaski i czytelny układ.

let (x, y) = (0, 5)
switch (x, y) {
case (0, 0): print("origin")
case (0, _): print("y-axis")
case (_, 0): print("x-axis")
default: print("plane")
}

Szybkie sprawdzenie

Proszę przetestować dopasowywanie zakresów i krotek.

Podsumowanie: dopasowywanie zakresów i krotek

Przypadki mogą dopasowywać zakresy, takie jak 1...5 i 0..<n, a wzorce krotek pozwalają dopasować kilka wartości naraz za pomocą literałów, zakresów i symbolu wieloznacznego _.

let p = (0, 4)
switch p {
case (0, _): print("y-axis")
default: print("other")
}
Bezpłatny start

Ucz się Swift dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
122
Lekcje
409

Często zadawane pytania

Czy lekcja „Dopasowywanie zakresów i krotek” jest bezpłatna?

Tak — pełny tekst „Dopasowywanie zakresów i krotek” 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 „Dopasowywanie zakresów i krotek”?

Używanie switch dla zakresów liczbowych i kształtów krotek. Ć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 4.

Ile czasu zajmuje lekcja „Dopasowywanie zakresów i krotek”?

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