如何用索引位置迭代 Vec<T> ?

How to iterate a Vec<T> with the indexed position?

我需要迭代 Vec,包括每个迭代元素的位置。我确定这已经在 API 中,但我看不到它。

我需要这样的东西:

fn main() {
    let v = vec![1; 10];
    for (pos, e) in v.iter() {
        // do something here
    }
}

您可以使用Iterator::enumerate方法:

fn main() {
    let v = vec![1; 10];
    for (pos, e) in v.iter().enumerate() {
        println!("Element at position {}: {:?}", pos, e);
    }
}

Playground