Menu
Coddy logo textTech

Odczytywanie danych od użytkownika

Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 30 z 75.

Do tej pory tworzyliśmy programy, w których bezpośrednio wpisywaliśmy wartości w kodzie. Jednak rzeczywiste programy często muszą wchodzić w interakcję z użytkownikami i uzyskiwać od nich informacje.

W Rust pobieranie danych wejściowych od użytkownika odbywa się za pomocą biblioteki std::io. Biblioteka ta udostępnia metody do odczytywania różnych typów danych wejściowych, takich jak liczby całkowite, liczby zmiennoprzecinkowe i ciągi znaków.

Aby użyć biblioteki std::io, najpierw musisz ją zaimportować:

use std::io;

Aby odczytać dane wprowadzone przez użytkownika, potrzebujemy dwóch wierszy kodu:

let mut my_var = String::new();
// Tworzy pusty ciąg znaków do przechowania danych wejściowych

io::stdin().read_line(&mut my_var).unwrap();
 // Odczytuje dane wejściowe

Spowoduje to zapisanie wartości wejściowej w zmiennej my_var typu tekstowego.

Jeśli chcesz uzyskać liczbę, musisz wykonać dodatkowy krok, aby przekonwertować tekst wejściowy na liczbę:

let age: i32 = input.trim().parse().unwrap();

Metoda .trim() jest potrzebna, ponieważ gdy użytkownicy naciskają Enter, do ich danych wejściowych dodawany jest znak nowej linii. Na przykład, jeśli ktoś wpisze „25” i naciśnie Enter, rzeczywiste dane wejściowe to „25\n”. Metoda .trim() usuwa te dodatkowe białe znaki (spacje, znaki nowej linii itp.) z początku i końca danych wejściowych.

Na razie nie przejmuj się zbytnio unwrap() — nauczymy się o nim później. Na razie wystarczy wiedzieć, że pomaga nam w prosty (choć nieidealny) sposób obsługiwać potencjalne błędy.

challenge icon

Wyzwanie

Początkujący

Napisz program, który pobiera dane od użytkownika (jego imię), a następnie wyświetla Hello, , po którym następuje podane przez użytkownika imię i wykrzyknik.

Na przykład, jeśli użytkownik wpisze Bob, oczekiwany wynik to Hello, Bob!.

Musisz:

  1. Utworzyć obiekt String do odczytu danych wejściowych.
  2. Poprosić użytkownika o wpisanie imienia: "Enter your name:"
  3. Odczytać imię użytkownika za pomocą odpowiedniej metody std::io.
  4. Wyświetlić Hello, , po którym następuje zapisane imię, a na końcu wykrzyknik !.

Spróbuj swoich sił

use std::io;

fn main() {
    // Utwórz obiekt String
    let mut name = String::new();
    
    // Poproś użytkownika o podanie imienia (użyj println)
    
    
    // Odczytaj imię użytkownika
    
    
    // Wyświetl wiadomość powitalną
    
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Rust online