C++示例:
for (long i = 0; i < 101; i++) {
//...
}
Run Code Online (Sandbox Code Playgroud)
在Rust中我尝试过:
for i: i64 in 1..100 {
// ...
}
Run Code Online (Sandbox Code Playgroud)
我可以很容易地let i: i64 =在for循环之前声明一个var,但我宁愿学习正确的方法来做到这一点,但这导致了
error: expected one of `@` or `in`, found `:`
--> src/main.rs:2:10
|
2 | for i: i64 in 1..100 {
| ^ expected one of `@` or `in` here
Run Code Online (Sandbox Code Playgroud)
Bur*_*hi5 21
您可以在范围中使用的文字之一上使用整数后缀.类型推断将完成剩下的工作:
for i in 1i64..101 {
println!("{}", i);
}
Run Code Online (Sandbox Code Playgroud)
不,这是不是可以声明变量的类型在一个for循环。
取而代之的是,更通用的方法(例如,也适用于enumerate())是let通过破坏循环体内的项来引入绑定。
例:
for e in bytes.iter().enumerate() {
let (i, &item): (usize, &u8) = e; // here
if item == b' ' {
return i;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4706 次 |
| 最近记录: |