デフォルトの構造体を作成するには、私は錆の中でfn new() -> Self
を見たことがありましたが、今日はDefault
を発見しました。だから、デフォルトの構造体を作成する2つの方法があります。デフォルトの構造体を作成するのに慣用的な方法
struct Point {
x: i32,
y: i32,
}
impl Point {
fn new() -> Self {
Point {
x: 0,
y: 0,
}
}
}
impl Default for Point {
fn default() -> Self {
Point {
x: 0,
y: 0,
}
}
}
fn main() {
let _p1 = Point::new();
let _p2: Point = Default::default();
}
はそうするより良い/最も慣用的な方法は何ですか?
私はちょうど "のためにかなり一般的なパターンがあることを指摘したいと思いますコンフィギュレーション "構造体は のようになります' let config = MyConfig {option1:2、option2:なし、..デフォルト:: default()} ' –
@WesleyWiser yep!あなたは 'Default :: default()'に制限されていませんが、 'MyStruct :: new()'や既存の変数さえできます。 – Shepmaster