Loops (Laços) for

O loop for está intimamente relacionado com o loop while let. Ele chamará automaticamente into_iter() na expressão e, em seguida, iterará sobre ela:

fn main() {
    let v = vec![10, 20, 30];

    for x in v {
        println!("x: {x}");
    }
    
    for i in (0..10).step_by(2) {
        println!("i: {i}");
    }
}

Aqui você pode usar break e continue como de costume.

  • A iteração de índice não é uma sintaxe especial no Rust apenas para esse caso.
  • (0..10) é um range (intervalo) que implementa um trait Iterator.
  • step_by é um método que retorna outro Iterator que pula outros elementos alternadamente.
  • Modifique os elementos no vetor e explique os erros de compilação. Altere o vetor v para ser mutável e o loop for para for x in v.iter_mut().