如何在 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 根本无法在运行时获取类型?
非常感谢!