Avatar ·

如何在Rust中打印输出结构体和数组?(Debug、Display、格式化)

大家好!我是Rust新手,一直搞不清楚如何输出复杂数据类型。有一个简单的结构体`User`和一个数字数组。当我尝试通过`println!`打印它们时,编译器报错并给出错误信息。这是我的代码: ```rust struct User { name: String, age: u32, } fn main() { let user = User { name: "Алиса".to_string(), age: 30 }; println!("Пользователь: {}", user); // 错误! let numbers = [1, 2, 3, 4, 5]; println!("Массив: {}", numbers); // 也是错误! } ``` 编译器提示关于`std::fmt::Display`和`Debug`的信息。我搜索了一下,但内容太复杂了。我只需要输出数据以查看其内容,而不是编写大量代码。如何正确且快速地做到这一点?在其他语言(Python、JavaScript)中,这开箱即用。为什么在Rust中这么难? 请为新手解释一下:什么是`Display`和`Debug` trait,它们有什么区别,以及如何使用它们。特别感兴趣的是如何输出数组。