【发布时间】:2023-03-25 19:00:02
【问题描述】:
说明向量(在其他集合类型中)是Iterator 是否准确?
例如,我可以通过以下方式循环一个向量,因为它实现了 Iterator 特征(据我了解):
let v = vec![1, 2, 3, 4, 5];
for x in &v {
println!("{}", x);
}
但是,如果我想使用属于 Iterator 特征的函数(例如 fold、map 或 filter),为什么必须首先在该向量上调用 iter()?
我的另一个想法是向量可以转换为Iterator,在这种情况下,上面的语法更有意义。
【问题讨论】:
-
doc.rust-lang.org/book/iterators.html 说了一些关于
for x in &v与for x in v.iter()的内容,这也是有效的。我不知道 Rust(还)所以我实际上无法解释或总结它!