在“Range”上的“for”循环中允许“i”为“u64”

Dan*_*Lee 4 rust

简单的问题,在任何地方都找不到答案:

for i in 0..65000000000 {
    do_something;
}
Run Code Online (Sandbox Code Playgroud)

抛出错误:

文字超出范围i32

将其设置为更大的类型也不起作用:

for i: u64 in 0..65000000000 {
    do_something;
}
Run Code Online (Sandbox Code Playgroud)

抛出错误:

错误:循环in中丢失for

Öme*_*den 5

来自参考

Syntax
IteratorLoopExpression :
   for Pattern in Expression except struct expression BlockExpression
Run Code Online (Sandbox Code Playgroud)

它需要一个模式而不是声明。

您需要通过更改输入的类型来显式设置类型。

Syntax
IteratorLoopExpression :
   for Pattern in Expression except struct expression BlockExpression
Run Code Online (Sandbox Code Playgroud)