Keyword while[−][src]
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; }Run
Like 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. } }Run
As 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); } }Run
For more information on while and loops in general, see the reference.