gpt4 book ai didi

rust - 非 mut 变量是可变的,导致崩溃

转载 作者:行者123 更新时间:2023-12-04 07:56:36 25 4
gpt4 key购买 nike

我遇到了一个奇怪的案例,Rust 告诉我我不需要 mut在一个变量上,即使我显然正在改变它!经过一番摆弄之后,我设法编译了以下代码,这些代码看起来已经损坏了。

fn main() {
let x: u32;
loop {
match 1 {
1 => {}
_ => {
x = 5;
break;
}
}
}
dbg!(x);
}
运行它( playground )会导致某种崩溃。这里发生了什么?这是编译器错误吗?我每晚都试过,它仍然超时。

最佳答案

这也编译:

let x: u32;

if false {
x = 5;
}
也:
let x: u32;
x = 5;
正如@trentcl 提到的,这是延迟初始化,这就是它被接受的原因。

关于rust - 非 mut 变量是可变的,导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66674796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com