Displayトレイトは、ユーザーに見せる為の文字列を取得する為のトレイト。
use std::fmt::Display;
Displayトレイトを実装すると、println!マクロ等で"{}"
によって出力できるようになる。
また、自動的にToStringトレイトも実装され、to_stringメソッドが使えるようになる。
Debugトレイトの場合は#[derive(Debug)]属性によってデフォルトの実装が生成されるが、
Displayトレイトの場合は#[derive]による生成は出来ない。
Displayトレイトではユーザーに見せる為の文字列を生成する必要があるので、自動生成機能は提供されていないらしい。
Displayトレイトを実装する例。
struct MyStruct { value1: i32, value2: i32, } impl std::fmt::Display for MyStruct { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "MyStruct({}, {})", self.value1, self.value2) } } fn main() { let value = MyStruct { value1: 123, value2: 456, }; println!("{}", value); }