Rust中漂亮的打印结构体



如何打印结构体和数组?如何漂亮地打印一个rust结构或任何数据类型?

当然,可以编写自定义的Debug方法。但是有没有什么方法可以默认启用打印呢?

一个选项是使用:https://docs.rs/pretty-trait/latest/pretty_trait/

当你实现Debug时,Rust提供了"漂亮的打印";用{:#?}。来自std::fmt文档:

  • #-该标志表明应该使用"替代"形式的打印。可供选择的形式有:
    • {:#?}-打印Debug格式(添加换行和缩进)
    • (其他人省略)

的例子:

#[derive(Debug)]
struct Person {
name: &'static str,
age: u8,
hobbies: Vec<&'static str>,
}
fn main() {
let peter = Person {
name: "Jesse",
age: 49,
hobbies: vec!["crosswords", "sudoku"],
};
println!("{:#?}", peter);
}
输出:

Person {
name: "Jesse",
age: 49,
hobbies: [
"crosswords",
"sudoku",
],
}

游乐场

最新更新