阅读文档时,我注意到一句话:“ Rust没有C样式的循环。”。因此,我想知道如何使循环等效for(i = 0; i < 10; i += 2) { }?
我能想到的方式是:
for i in 0..10 {
if i % 2 == 0 {
//Do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
甚至:
let i = 0;
loop {
if i < 10 {
//Do stuff
i += 2;
} else {
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但是我不确定这是最好的方法,尤其是因为它确实很冗长。有没有更好的办法?我猜想它将与迭代器,但我不确定如何做到这一点。
我有一个迭代器iter; 是否可以将其转换为迭代每个第N个元素的迭代器?有点像iter.skip_each(n - 1)?