capypad
0 Tage Serie
rust / beginner
Snippet

If-Ausdrücke und bedingte Verzweigung

If-Ausdrücke in Rust funktionieren ähnlich wie in anderen Sprachen, haben aber einen wesentlichen Unterschied: Sie sind Ausdrücke, die Werte zurückgeben. Jeder Zweig muss den gleichen Typ ergeben, wenn er als Ausdruck verwendet wird. Die Bedingung muss nicht in Klammern eingeschlossen werden, aber der Block muss in geschweiften Klammern stehen. Du kannst mehrere Bedingungen mit `else if` verketten. Da if ein Ausdruck ist, kannst du sein Ergebnis direkt einer Variable zuweisen, wie bei `is_even` gezeigt.

snippet.rs
rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
fn main() {
let number = 7;
if number < 5 {
println!("Number is less than 5");
} else if number == 5 {
println!("Number equals 5");
} else {
println!("Number is greater than 5");
}
let is_even = if number % 2 == 0 { true } else { false };
println!("Is {} even? {}", number, is_even);
}
Erklärung
1
let number = 7;
Variablenbindung mit Typinferenz (standardmäßig i32)
2
if number < 5 {
If-Ausdruck, der einen Vergleich auswertet - keine Klammern nötig
3
println!("Number is less than 5");
Wird ausgeführt, wenn die Bedingung wahr ist
4
} else if number == 5 {
Verkettung einer alternativen Bedingung mit Gleichheitsprüfung
5
} else {
Finaler Auffang-Zweig, wenn alle Bedingungen falsch sind
6
let is_even = if number % 2 == 0 { true } else { false };
If als Ausdruck - beide Zweige geben bool zurück, Ergebnis wird der Variable zugewiesen