【问题标题】:Allow `i` to be `u64` in a `for` loop over `Range` [duplicate]在“Range”的“for”循环中允许“i”为“u64”[重复]
【发布时间】:2020-01-09 11:31:24
【问题描述】:

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

for i in 0..65000000000 {
    do_something;
}

抛出错误:

i32 的文字超出范围

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

for i: u64 in 0..65000000000 {
    do_something;
}

抛出错误:

错误:for 循环中缺少 in

【问题讨论】:

标签: rust


【解决方案1】:

来自reference

Syntax
IteratorLoopExpression :
   for Pattern in Expression except struct expression BlockExpression

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

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

for i in 0..65000000000u64 {
    do_something;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多