clion中rust变量debug值与实际显示不符

最近刚开始学习rust,发现rust中同一个变量名称可以定义多次并取最后一次的值。但我在编译器Clion使用debug模式进行调试的时候发现demo中的num变量仍显示为第一行中的浮点值,但结果显示是后面的String,请问这个是Clion的bug吗还是什么

img

img

回答不易,求求您采纳哦

这不是 Clion 中的错误,而是变量在调试模式下的显示方式与其实际值的差异。

Rust 是一种非常注重所有权和借用的语言,它不允许在定义变量后重新分配它。但是,变量名可以被另一个同名变量覆盖。这个新变量将与前一个变量同名,但具有不同的类型和值。

当您在 Clion 中调试代码时,变量名称 num 在第一行中显示为浮点值,因为这是它的初始值。但是,当稍后在代码中隐藏该变量时,它会采用新的类型和值,即 String。Clion 的调试模式可能无法自动更新变量的类型和值,这就是为什么它仍然显示初始值的原因。

作为解决方案,您可以通过打印来检查代码中变量的值。

此外,您可以尝试使用 rust 的调试功能,例如println!("{:?}", variable)或dbg!(variable)在运行时查看变量值及其类型。