Iniciante Fundamentos

Laços de repetição

Laços repetem um bloco de código. Rust tem três: loop, while e for.

loop

Repete para sempre até um break.

fn main() {
    let mut i = 0;
    loop {
        if i >= 3 {
            break;
        }
        println!("i = {}", i);
        i += 1;
    }
}

break com valor

O loop pode retornar um valor através do break.

fn main() {
    let mut n = 1;
    let resultado = loop {
        n *= 2;
        if n > 50 {
            break n;
        }
    };
    println!("{}", resultado); // 64
}

while

Repete enquanto a condição for verdadeira.

fn main() {
    let mut contador = 3;
    while contador > 0 {
        println!("{}", contador);
        contador -= 1;
    }
}

for

Ideal para percorrer faixas (ranges) e coleções.

fn main() {
    for i in 1..=3 {        // 1, 2, 3
        println!("Número {}", i);
    }

    let cores = ["azul", "verde", "rosa"];
    for cor in cores {
        println!("{}", cor);
    }
}

O 1..3 exclui o fim; 1..=3 inclui o fim.