我用我无法理解的 Rust 全局变量做了很多实验;为什么会发生这种情况
#![allow(unused)]
const I:i32 = 10;
fn main() {
let gi = I;
println!("{}", gi);
const I:i32 = 20;
println!("{}", gi);
}
当我这样做时,我期望这个输出
10
10
但我得到的输出是这样的
20
20
我没有碰过gi
,但当我更改全局变量时它仍然会改变,I
如果我I
在打印后更改gi
一次我不明白为什么第一个输出也会改变,从而破坏了控制流