Benutzereingaben lesen
Teil des Abschnitts Grundlagen der Rust-Journey von Coddy. Lektion 30 von 75.
Bisher haben wir Programme erstellt, in denen wir Werte direkt in unseren Code schreiben. Aber reale Programme müssen oft mit Benutzern interagieren und Informationen von ihnen erhalten.
In Rust erfolgt die Eingabe von einem Benutzer mithilfe der Bibliothek std::io. Diese Bibliothek stellt Methoden zum Lesen verschiedener Eingabetypen bereit, etwa Ganzzahlen, Gleitkommazahlen und Zeichenfolgen.
Um die Bibliothek std::io zu verwenden, musst du sie zunächst importieren:
use std::io;Um Eingaben von einem Benutzer zu lesen, benötigen wir zwei Codezeilen:
let mut my_var = String::new();
// Erstellt einen leeren String, um die Eingabe zu speichern
io::stdin().read_line(&mut my_var).unwrap();
// Liest die EingabeDadurch wird der Eingabewert in der Variablen my_var als Datentyp String gespeichert.
Wenn du eine Zahl erhalten möchtest, benötigst du einen zusätzlichen Schritt, um die Texteingabe in eine Zahl umzuwandeln:
let age: i32 = input.trim().parse().unwrap();.trim() wird benötigt, weil der Eingabe ein Zeilenumbruchzeichen hinzugefügt wird, wenn Benutzer die Eingabetaste drücken. Wenn jemand beispielsweise "25" eingibt und die Eingabetaste drückt, lautet die tatsächliche Eingabe "25\n". .trim() entfernt diese zusätzlichen Leerraumzeichen (Leerzeichen, Zeilenumbrüche usw.) vom Anfang und Ende der Eingabe.
Mach dir vorerst nicht zu viele Gedanken über unwrap() – wir werden später mehr darüber erfahren. Du solltest nur wissen, dass es uns hilft, potenzielle Fehler auf einfache (wenn auch nicht ideale) Weise zu behandeln.
Aufgabe
AnfängerSchreibe ein Programm, das Eingaben vom Benutzer (seinen Namen) erhält und anschließend Hello, gefolgt vom eingegebenen Namen des Benutzers und einem Ausrufezeichen ausgibt.
Wenn der Benutzer beispielsweise Bob eingibt, lautet die erwartete Ausgabe Hello, Bob!.
Du musst Folgendes tun:
- Erstelle ein
String-Objekt, um die Eingabe zu lesen. - Fordere den Benutzer auf, seinen Namen einzugeben: "
Enter your name:" - Lies den Namen des Benutzers mit der entsprechenden
std::io-Methode ein. - Gib
Hello,gefolgt vom gespeicherten Namen und am Ende einem Ausrufezeichen!aus.
Probier es selbst
use std::io;
fn main() {
// Erstelle ein String-Objekt
let mut name = String::new();
// Fordere den Benutzer auf, seinen Namen einzugeben (verwende println)
// Lies den Namen des Benutzers
// Gib die Begrüßungsnachricht aus
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Grundlagen IO
Ausgabe in die KonsoleBenutzereingaben lesenWiederholung - Bis 120Wiederholung - Wahr oder Falsch5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung - Einfache LogikLogische Operatoren Teil 311Funktionen
Funktionen deklarierenParameter und ArgumenteRückgabewerteMehrere RückgabewerteWiederholung - Sigma-FunktionWiederholung - Validierungsfunktion14Iterieren über Arrays
Range-LeitfadenErweiterte For-SchleifeBorrowing in SchleifenGängige Array-Operationen3Variablen Teil 2
TypdeklarationNamenskonventionenTypinferenzRückblick - Variablen initialisierenTypumwandlung6Entscheidungsfindung
If-AusdrückeIf-ElseMatch-AnweisungZusammenfassung - If-ElseVerschachteltes If-Else9Schleifen
For-Schleife über SerienWhile-SchleifeBreakContinueVerschachtelte SchleifenSchleifen-LabelsEndlosschleifeRückblick – Dynamische EingabeÜbe selbstständig: Online-Rust-Compiler