If-Else
Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 25 von 75.
if ermöglicht es uns, bestimmten Code auszuführen, wenn eine Bedingung erfüllt ist, aber was ist, wenn wir etwas anderes ausführen möchten, wenn die Bedingung nicht erfüllt ist?
Dafür haben wir die else-Anweisung:
let age: i32 = 15;
let status = if age >= 18 {
"Adult"
} else {
"Young"
};In dem obigen Beispiel ist age kleiner als 18, was bedeutet, dass der else-Code ausgeführt wird und status den Wert "Young" enthalten wird.
Wir können es mit der else if-Anweisung sogar noch tiefgründiger gestalten:
let age: i32 = 68;
let status = if age < 18 {
"Young"
} else if age >= 18 && age <= 65 {
"Adult"
} else {
"Old"
};Hier wird geprüft, ob age kleiner als 18 ist; falls nicht, wird mit der nächsten Bedingung fortgefahren und geprüft, ob age zwischen 18 und 65 liegt. Wenn auch diese Bedingung nicht erfüllt ist, wird status auf "Old" gesetzt.
Wir können so viele else if-Anweisungen hinzufügen, wie wir möchten:
if condition1 {
code;
} else if condition2 {
code;
} else if condition3 {
code;
}
...Aufgabe
AnfängerIhnen wird ein Code gegeben, der als Eingabe eine Zahl erhält, die die Windgeschwindigkeit angibt und diese in einer Variablen namens wind speichert.
Hinweis: Wir werden in den nächsten Lektionen lernen, wie man Eingaben vom Benutzer erhält; rühren Sie die ersten Zeilen vorerst einfach nicht an.
Ihre Aufgabe ist es, die Variable status basierend auf den folgenden Bedingungen zu initialisieren:
"Calm", wennwindkleiner als8ist,"Breeze", wennwindzwischen8und31liegt (einschließlich 8 und 31)."Gale", wennwindzwischen32und63liegt (einschließlich 32 und 63)"Storm"andernfalls
Überprüfen Sie die Testfälle, um alle Eingaben und die erwarteten Ausgaben zu sehen
Spickzettel
Verwenden Sie else, um Code auszuführen, wenn die if-Bedingung nicht erfüllt ist:
let age: i32 = 15;
let status = if age >= 18 {
"Adult"
} else {
"Young"
};Verwenden Sie else if, um mehrere Bedingungen zu prüfen:
let age: i32 = 68;
let status = if age < 18 {
"Young"
} else if age >= 18 && age <= 65 {
"Adult"
} else {
"Old"
};Sie können mehrere else if-Anweisungen verketten:
if condition1 {
code;
} else if condition2 {
code;
} else if condition3 {
code;
}Probier es selbst
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let wind: i32 = input.trim().parse().unwrap();
// Ersetze die folgende Zeile durch einen if-else-Ausdruck, der den Status basierend auf dem Wind zuweist
let status = "unset";
// Ändere die folgende Zeile nicht
println!("status = {}", status);
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
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