跳至主要内容

Rust_Data_Type_Vctor

Vector

loop Vector

  • vec.iter()
let mut v = vec![1, 2, 3]; 
for i in v.iter() {
println!("{}", i);
}
let some_vec = vec![1, 2, 3];
for i in &some_vec {
println!("{}", i);
}

in-place modification

  • 注意 *i
let mut some_vec = vec![1, 2, 3];
for i in &mut some_vec {
*i *= 2;
}
println!("{:?}", some_vec); // [2, 4, 6]

loop Vector : with index

let vec = vec![1, 2, 3]; 
for (index, element) in vec.enumerate() {
println!("Element {} is {}", index, element);
}

DSL

  • some_vec.iter().map(|x| / do something here /)

  • vec.into_iter()

  • it is lazy

//looping
let vec = vec![1, 2, 3];
let doubled: Vec<i32> = vec.into_iter().map(|x| x * 2).collect();
println!("{:?}", doubled); // [2, 4, 6]
  • *i
//looping + in-place modification
let mut some_vec = vec![1, 2, 3];
some_vec.iter_mut().for_each(|i| *i *= 2);
println!("{:?}", some_vec); // [2, 4, 6]