当我遇到这个有趣的错误时,我最近尝试使用不同的迭代样式对Rust for循环进行基准测试.如果我使用下面的代码迭代,我会得到&[i32; 1000000] is not an iterator; maybe try calling .iter() or a similar method.我知道我可以使用iter(),但是我试图找到哪个更快,iter()或者&array.
码:
extern crate time;
fn main() {
let array: [i32; 1000000] = [0; 1000000]; // This will produce an error
// let array: [i32; 32] = [0; 32] produces no error
let start_time = time::precise_time_s();
for _x in &array {
}
println!("{}", time::precise_time_s() - start_time);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么我不能迭代大于32的数组&array?