Dopasowywanie zakresów i krotek
Używanie switch dla zakresów liczbowych i kształtów krotek.
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")
}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
- Wyczerpujący switch dla wartości
- Dopasowywanie zakresów i krotek
- Wiązanie wartości i klauzule where
- Złożone przypadki i fallthrough