如何打印结构体和数组? - 如何漂亮地打印一个 Rust 结构体或任何数据类型?
当然,可以编写自定义 Debug 方法。但是否有一些方式可以启用默认打印呢?
其中一种选择是使用:https://docs.rs/pretty-trait/latest/pretty_trait/
当然,可以编写自定义 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",
],
}
Vec
都是漂亮的格式,那么我将会浏览数百行输出而不是不到一页。 - lmat - Reinstate Monica
#[derive(Debug)]
是最简单的解决方案。” - John Kugelman{:#?}
来对Debug
特质进行适度美化格式。 - Jeremy MeadowsDebug
的初衷。 - cdhowie