Expresiones loop

Por último, la palabra clave loop crea un bucle infinito.

Para detener el bucle, debes usar break o return:

fn main() {
    let mut x = 10;
    loop {
        x = if x % 2 == 0 {
            x / 2
        } else {
            3 * x + 1
        };
        if x == 1 {
            break;
        }
    }
    println!("Final x: {x}");
}
  • Interrumpe loop con un valor (por ejemplo, break 8) e imprímelo.
  • Ten en cuenta que loop es la única construcción de bucle que devuelve un valor no trivial. Esto se debe a que es inevitable que se introduzca al menos una vez (a diferencia de los bucles while y for).