break y continue

  • Si quieres salir de un bucle antes, usa break.
  • Si quieres iniciar inmediatamente la siguiente iteración, usa continue.

De forma opcional, tanto continue como break pueden utilizar un argumento de etiqueta para interrumpir los bucles anidados:

fn main() {
    let v = vec![10, 20, 30];
    let mut iter = v.into_iter();
    'outer: while let Some(x) = iter.next() {
        println!("x: {x}");
        let mut i = 0;
        while i < x {
            println!("x: {x}, i: {i}");
            i += 1;
            if i == 3 {
                break 'outer;
            }
        }
    }
}

En este caso, detenemos el bucle exterior tras tres iteraciones del bucle interno.