此问题在此处已有答案:
In Rust, what's the difference between "shadowing" and "mutability"?(1个答案)
8天前关闭.
#[test]
fn test_looping() {
let index: usize = 2;
while let Some(index) = index.checked_sub(1) {
println!("{}", index);
}
}
为什么这会创建一个无限循环?我希望index
被while let
表达式覆盖。相反,我必须添加一些额外的行来让它改变index
。
1条答案
按热度按时间zour9fqk1#
let
声明了一个新的绑定,隐藏了前一个绑定。它不会修改现有的变量。index
最初没有声明为let mut index
是一个信号,表明它没有被改变。要修复它,请写:
字符串