Control flow
If ... Else
Branch code based on conditions.
If else for functions
fn main() {
let age: u16 = 15;
if age >= 16 {
println!("You can drive a car!");
} else {
println!("You can't drive a car!");
}
}
// multiple conditions with else if
// % calculates the remainder of an operation
let number = 6;
if number % 4 == 0 {
println!("number is divisible by 4!");
} else if number % 3 == 0 {
println!("number is divisible by 3!");
} else if number % 2 == 0 {
println!("number is divisible by 2!");
} else {
println!("number is not divisible by 4, 3, or 2!");
}
If else for declarations
If and else will need to evaluate to the same type.
let condition = true;
let number = if condition {5} else {6};
println!("Number: {number}");
// Number: 5
/* let number = if condition {5} else {"six"};
Will not compile. */
&
Loops
loop {
code
if ... {break ...}
}
Example
let mut counter = 0;
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2;
}
};
println!{"{result}"};
//Result prints as 20 because that is what follows break (counter * 2)
Nested loop example
let mut count = 0;
'counting_up: loop {
println!("count = {count}");
let mut remaining = 10;
loop {
println!("remaining = {remaining}");
if remaining == 9 {
break;
}
if count == 2 {
break 'counting_up;
}
remaining -= 1;
}
count += 1;
}
println!("End count = {count}");
While loop example
let mut number = 3;
while number !0 = {
println!("{number}");
number -= 1;
}
println!("HEY!!!");
Example array
let a = [1,2,3,4,5,6];
for element in a {
println!("{element}");
}