Wiele wartości zwracanych
Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 52 z 75.
W Rust funkcja może zwracać wiele wartości, używając krotki jako typu zwracanego. Krotka to grupa różnych wartości połączonych w jedną całość.
Na przykład:
fn get_coordinates() -> (i32, i32) {
let x = 10;
let y = 20;
(x, y) // Zwróć krotkę
}I tak wywołuje się funkcję:
let (x, y) = get_coordinates();
// Rozpakuj krotkę
// do osobnych zmiennych
println!("{}, {}", x, y);Możesz zwrócić tyle wartości, ile potrzebujesz, dodając więcej elementów do krotki. Na przykład:
fn get_details() -> (String, i32, f64) {
let name = String::from("Alice");
let age = 30;
let score = 95.5;
(name, age, score)
// Zwróć krotkę z trzema wartościami
}A oto, jak wywołać funkcję:
let (name, age, score) = get_details();
println!("{}, {}, {}", name, age, score);Wyzwanie
ŁatwyUtwórz funkcję o nazwie get_user_info, która zwraca krotkę zawierającą imię i nazwisko użytkownika, wiek oraz adres e-mail. Funkcja powinna mieć następującą sygnaturę:
fn get_user_info() -> (String, i32, String)Wewnątrz funkcji utwórz następujące zmienne:
name: wartość typuStringzainicjalizowana wartością "Bob"age: wartość typui32zainicjalizowana wartością 25email: wartość typuStringzainicjalizowana wartością "bob@example.com"
Zwróć te trzy wartości jako krotkę.
W funkcji main wywołaj get_user_info i rozpakuj zwróconą krotkę do oddzielnych zmiennych o nazwach name, age i email. Następnie wypisz te wartości w konsoli za pomocą println! w następującym formacie:
Name: [name], Age: [age], Email: [email]Spróbuj swoich sił
fn get_user_info() -> (String, i32, String) {
// Utwórz tutaj zmienne name, age i email
// Zwróć krotkę
}
fn main() {
// Wywołaj get_user_info i rozpakuj zwróconą krotkę
// Wyświetl wartości
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloSkrócone operacje arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Wyświetlanie w konsoliOdczytywanie danych od użytkownikaPowtórka – do 120Powtórka – prawda czy fałsz5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka — prosta logikaOperatory logiczne, część 311Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneWiele wartości zwracanychPowtórka – funkcja SigmaPowtórka – funkcja walidująca14Iterowanie po tablicach
Przewodnik po zakresachUlepszona pętla forPożyczanie w pętliTypowe operacje na tablicach3Zmienne – część 2
Deklarowanie typuKonwencje nazewnictwaWnioskowanie o typiePodsumowanie – inicjalizacja zmiennychRzutowanie typów9Pętle
Pętla for dla sekwencjiPętla whileInstrukcja breakInstrukcja continuePętle zagnieżdżoneEtykiety pętliPętla nieskończonaPodsumowanie — dynamiczne dane wejściowe12Podstawy tablic
Deklarowanie tablicTablica jako parametrDostęp do elementówModyfikowanie tablicPodsumowanie — czytelny wydruk tablicy15Operacje na ciągach znaków
Metody ciągów znakówMakro format!Konwersja ciągów znakówPowtórka — formatowaniePoćwicz samodzielnie: Kompilator Rust online