Rustの構造体を初期化したいときに一番使うであろうDefaultの設定
#[derive(Default, Debug)]
struct TestA {
name: String,
}
fn main() {
print!("{:?}", TestA::default());
}
/// output : TestA { name: "" }
このように設定することで型の初期値で値を定義してくれるので、newメソッドなどを作らずとも簡単に初期化することができます。
ただ、Optionを多用したり数値などの初期値を変更したいことが、実務だと多々ありそれに対応するためにはDefault レイトを自分で実装すれば可能です。
impl Default for TestB {
fn default() -> TestB {
TestB {
name: "初期値".to_string(),
}
}
}
fn main() {
print!("{:?}", TestB::default());
}
/// output : TestB { name: "初期値" }