Velvet Star Monitor

Standout celebrity highlights with iconic style.

updates

Pretty print struct in Rust

Writer Mia Lopez

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:

5

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 the Debug formatting (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", ],
}

Playground

5

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.