break and continue

If you want to immediately start the next iteration use continue.

If you want to exit any kind of loop early, use break. With loop, this can take an optional expression that becomes the value of the loop expression.

  1. fn main() {
  2.     let mut i = 0;
  3.     loop {
  4.         i += 1;
  5.         if i > 5 {
  6.             break;
  7.         }
  8.         if i % 2 == 0 {
  9.             continue;
  10.         }
  11.         println!("{}", i);
  12.     }
  13. }

This slide and its sub-slides should take about 4 minutes.

Note that loop is the only looping construct which can return a non-trivial value. This is because it’s guaranteed to only return at a break statement (unlike while and for loops, which can also return when the condition fails).