Pretty Print Struct in Rust
How to Print Structs and Arrays? - How Does One Pretty Print a Rust Struct or Any Data Type? Sure, One Can Write the Custom Debug Method. but Is There Some Way...
How to print structs and arrays? - how does one pretty print a rust struct or any data type?
Sure, one can write the custom Debug method. But is there some way which enables the print by default?
One option is to use:
1 Answer
When you implement Debug, Rust provides "pretty printing" with {:#?}. From the std::fmt documentation:
#- This flag indicates that the “alternate” form of printing should be used. The alternate forms are:
{:#?}- pretty-print theDebugformatting (adds linebreaks and indentation)- [others omitted]
Example:
#[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);
}
Output:
Person {
name: "Jesse",
age: 49,
hobbies: [
"crosswords",
"sudoku",
],
}