break and continue
If you want to exit any kind of loop early, use
break.
For loop, this can take an optional expression that becomes the value of the
loop expression.
If you want to immediately start the next iteration use
continue.
fn main() { let (mut a, mut b) = (100, 52); let result = loop { if a == b { break a; } if a < b { b -= a; } else { a -= b; } }; println!("{result}"); }
Both continue and break can optionally take a label argument which is used
to break out of nested loops:
fn main() { 'outer: for x in 1..5 { println!("x: {x}"); let mut i = 0; while i < x { println!("x: {x}, i: {i}"); i += 1; if i == 3 { break 'outer; } } } }
In this case we break the outer loop after 3 iterations of the inner loop.
This slide should take about 5 minutes. 
                    - Note that loopis the only looping construct which returns a non-trivial value. This is because it’s guaranteed to be entered at least once (unlikewhileandforloops).