If-Ausdrücke
Gleichwertige If-Konstrukte
Abschnitt betitelt „Gleichwertige If-Konstrukte“Richtig/Falsch: Führen diese beiden Code-Abschnitte zum gleichen Wert für x?
Snippet 1:
let x = if cond { 1 } else { 2 };Snippet 2:
let x;if cond { x = 1;} else { x = 2;}(Hinweis: Beide Snippets kompilieren!)
Der erste if-Ausdruck ist eine prägnantere Art, das Verhalten der zweiten if-Anweisung darzustellen.
Beachten Sie, dass Rust im zweiten Snippet nicht verlangt, dass x initial mit let mut deklariert wird.
Dies liegt daran, dass Rust feststellen kann, dass x nur einmal zugewiesen wird, da nur ein Zweig der
if-Anweisung ausgeführt wird.
Boolesche If-Bedingung
Abschnitt betitelt „Boolesche If-Bedingung“fn main() { let x = 1; let y = if x { 0 } else { 1 }; println!("{y}");}Die Bedingung eines if-Ausdrucks muss ein Boolescher Wert sein. Rust kennt kein Konzept von „truthy“ oder „falsy“ Werten.