Control Flow
if
Expressions
if
statements are pretty common:
fn main() {
let number = 3;
if number < 5 {
println!("condition was true");
} else {
println!("condition was false");
}
}
but in rust, they are expressions!
fn main() {
let condition = true;
let number = if condition { 5 } else { 6 };
println!("The value of number is: {}", number);
}
loop
loop
runs code repeatedly until there is a command to break:
fn main() {
let mut counter = 0;
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2;
}
};
println!("The result is {}", result);
}
The break
keyword can be followed by an expression that is returned from the loop. A ;
follows the loop
block because it is a statement of assigning a variable.
while
while
loop is straighforward:
fn main() {
let mut number = 3;
while number != 0 {
println!("{}!", number);
number -= 1;
}
println!("LIFTOFF!!!");
}
for
for
loop is straightforward:
fn main() {
for number in (1..4).rev() {
println!("{}!", number);
}
println!("LIFTOFF!!!");
}