【发布时间】:2015-03-09 02:04:48
【问题描述】:
从表面上看,drain 和into_iter 似乎都提供了类似的迭代器,即在集合的值之上。但是,它们是不同的:
fn main() {
let mut items1 = vec![0u8, 1, 2, 3, 4, 5, 6, 7, 8, 9];
let items2 = items1.clone();
println!("{:?}", items1.drain().count());
println!("{:?}", items2.into_iter().count());
println!("{:?}", items1);
// println!("{:?}", items2); Moved
}
drain 将&mut 带到集合中,然后集合可用。 into_iter 使用该集合。每个迭代器的适当用途是什么?
【问题讨论】: