Wyrażenie „match”
Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 1 z 66.
Wyrażenie match to potężne narzędzie dopasowywania wzorców w Rust, które pozwala porównać wartość z różnymi wzorcami i wykonać kod w zależności od tego, który wzorzec pasuje. Możesz myśleć o nim jak o bardziej zaawansowanej wersji instrukcji if, która elegancko obsługuje wiele warunków.
Oto podstawowa składnia wyrażenia match:
match value {
pattern1 => code_to_run,
pattern2 => code_to_run,
_ => default_code,
}Każda linia wewnątrz match nazywa się „ramieniem”. => oddziela wzorzec od kodu, który uruchamia się, gdy wzorzec pasuje. Podkreślenie _ to specjalny wzorzec wieloznaczny, który pasuje do wszystkiego — działa jak „wzorzec domyślny” dla każdej wartości, która nie pasuje do pozostałych wzorców.
Oto prosty przykład sprawdzający liczbę:
let number = 2;
match number {
1 => println!("One"),
2 => println!("Two"),
_ => println!("Other"),
}W Rust wyrażenia match muszą być wyczerpujące, co oznacza, że muszą obsługiwać każdą możliwą wartość. Dlatego symbol wieloznaczny _ jest tak ważny — gwarantuje, że uwzględniono wszystkie przypadki, które nie zostały jawnie dopasowane.
Wyzwanie
ŁatwyNapisz funkcję describe_number, która przyjmuje num i zwraca opis tekstowy na podstawie wartości liczby.
Użyj wyrażenia match, aby zwracać różne opisy dla różnych liczb.
Warunki:
- Jeśli
numma wartość0, zwróć"zero" - Jeśli
numma wartość1, zwróć"one" - Jeśli
numma wartość2, zwróć"two" - Jeśli
numma wartość3, zwróć"three" - Dla każdej innej liczby zwróć
"many"
Parametry:
num(i32): liczba do opisania
Zwraca: opis tekstowy liczby (String)
Spróbuj swoich sił
fn describe_number(num: i32) -> String {
// Wpisz kod tutaj
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane sterowanie przepływem
Wyrażenie „match”Dopasowywanie wielu wartościDopasowywanie zakresówWyrażenie „if let”Pętle jako wyrażeniaPodsumowanie — prosty parser poleceń4Grupowanie danych za pomocą struktur
Czym jest struktura?Przegląd strukturDostęp do pól strukturyModyfikowalne strukturyStruktury jako parametry funkcjiStruktury krotkowePodsumowanie — utwórz strukturę Book2Wprowadzenie do wektorów
Czym jest wektor?Tworzenie wektoraDodawanie elementów za pomocą pushDostęp do elementów wektoraIterowanie po wektorzeIterowanie z możliwością modyfikacjiUsuwanie elementówPodsumowanie — prosty licznik punktów5Pary klucz–wartość z mapami hashującymi
Czym jest mapa haszująca?Tworzenie mapy haszującejWstawianie par klucz–wartośćDostęp do wartościIterowanie po mapie haszującejAktualizowanie wartościUsuwanie paryPodsumowanie – licznik słów8Projekt: Prosty system inwentaryzacji
Konfiguracja projektuDodawanie produktuSprawdzanie stanu magazynowegoSprzedaż produktuŁączenie wszystkiego w całość3Lista zadań w wierszu poleceń
Konfiguracja projektuDodawanie zadaniaWyświetlanie wszystkich zadańUsuwanie zadaniaKońcowy kodPoćwicz samodzielnie: Kompilator Rust online