Avatar ·

如何在 Rust 中获取变量类型?(类似 Python 的 type() 或 JavaScript 的 typeof)

大家好!我刚开始学习 Rust 并遇到了一个问题。在 Python 中,我可以轻松使用 `type()` 获取变量类型,在 JavaScript 中则用 `typeof`。那么在 Rust 中该怎么做呢? 我正在调试一个简单的加法程序,但编译器报错类型不匹配。例如: ```rust fn main() { let a = 10; let b = 3.14; let c = a + b; // 错误! println!("{}", c); } ``` 编译器提示 `cannot add float to integer`,但我想先看看 `a` 和 `b` 在运行时是什么类型,以便理解问题所在。在其他语言中,我只需写 `print(type(a))` 或 `console.log(typeof a)`。 我尝试过使用 `std::any::type_name`,但出了问题——编译器抱怨奇怪的 traits。请告诉我如何在 Rust 中正确输出变量类型?是否有宏或函数可以实现?或者由于静态类型系统,Rust 根本无法在运行时获取类型? 非常感谢!