Expand description
Loop while a condition is upheld.
A while expression is used for predicate loops. The while expression runs the conditional
expression before running the loop body, then runs the loop body if the conditional
expression evaluates to true, or exits the loop otherwise.
let mut counter = 0;
while counter < 10 {
println!("{counter}");
counter += 1;
}RunLike the for expression, we can use break and continue. A while expression
cannot break with a value and always evaluates to () unlike loop.
let mut i = 1;
while i < 100 {
i *= 2;
if i == 64 {
break; // Exit when `i` is 64.
}
}RunAs if expressions have their pattern matching variant in if let, so too do while
expressions with while let. The while let expression matches the pattern against the
expression, then runs the loop body if pattern matching succeeds, or exits the loop otherwise.
We can use break and continue in while let expressions just like in while.
let mut counter = Some(0);
while let Some(i) = counter {
if i == 10 {
counter = None;
} else {
println!("{i}");
counter = Some (i + 1);
}
}RunFor more information on while and loops in general, see the reference.