Rust Maggiori informazioni sui loop For


Esempio

Come accennato in Nozioni di base, possiamo usare tutto ciò che implementa IntoIterator con il ciclo for :

let vector = vec!["foo", "bar", "baz"]; // vectors implement IntoIterator
for val in vector {
    println!("{}", val);
}

Uscita prevista:

foo  
bar  
baz

Si noti che l'iterazione sul vector in questo modo la consuma (dopo il ciclo for , il vector non può essere riutilizzato). Questo perché IntoIterator::into_iter sposta self .

IntoIterator è anche implementato da &Vec<T> e &mut Vec<T> (producendo valori con tipi &T e &mut T rispettivamente) in modo da poter impedire lo spostamento del vector semplicemente passandolo per riferimento:

let vector = vec!["foo", "bar", "baz"];
for val in &vector {
    println!("{}", val);
}
println!("{:?}", vector);

Si noti che val è di tipo &&str , poiché vector è di tipo Vec<&str> .