#[derive(Default)]
struct SomeOptions {
foo: i32,
bar: f32,
}
fn main() {
let options = SomeOptions { foo: 42, ..Default::default() };
}
..
运算符被称为“结构体更新语法”,它可以用来将一个结构体的部分字段设置为默认值。在这种情况下,..
的作用是将剩余的结构体参数填充为 SomeOptions
的默认值。使用..
前缀是必要的,因为它指示编译器只更新传递给函数的参数中的结构体字段。返回的值仍然是整个结构体对象。
..
的另一个用法。 - Shepmaster