这可能是一个愚蠢的错误,但我不明白这意味着什么。我请求帮助。为什么不应用条件运算符内部获得的新值(let oldfiles:u64 = 6666;
),而是使用旧值(let oldfiles:u64 = 5555;
)?条件if true
已满足。
let oldfiles:u64 = 5555;
if true {
let oldfiles:u64 = 6666;
dbg!(oldfiles); // oldfiles = 6666
}
//почему здесь значение oldfiles не изменилось и равно 5555 ?
dbg!(oldfiles); // oldfiles = 5555
let 关键字声明一个新变量。也就是说,您没有为旧变量分配值,而是创建了一个在声明它的块之外不可见的新变量。
如果你要改变变量的值,你需要将其声明为可变的(mut),而不是再次写 let: