- 此问题在此处已有答案**:
Is there a way to "return" from a block expression?(4个答案)
4天前关闭。
我在print宏中有这个作用域,它试图找到1到10亿之间的整数。如果失败,它应该会死机。
fn main() {
println!(
"{}",
{
for i in 0..1000000000 {
if i == 100 {
Some(i)
}
}
None
}
.unwrap()
);
}
在Some(i)
所在的行,出现错误:
mismatched types
expected unit type `()`
found enum `Option<{integer}>`
我该怎么补救呢?
1条答案
按热度按时间tag5nh1u1#
如果你想使用if作为表达式,你还必须提供else。我认为你想要其他的东西,尽早地打破这个区块。你可以用最近稳定的命名区块来做到这一点: