Syntax {..}在模式中是什么意思?

Syntax {..}在模式中是什么意思?,syntax,rust,pattern-matching,Syntax,Rust,Pattern Matching,我在about中找到了以下代码: {..}在这里是什么意思?这是一种允许不需要指定对象的所有成员的方法。在这种情况下: UserError::ValidationError { .. } 对于该匹配分支,枚举变量为ValidationError就足够了,无论其在本例字段中的内容如何: 当只涉及对象的某些成员时,它也很有用;考虑包含BAZ和BAR字段的FoO结构: 如果你只对baz感兴趣,你可以写: fn main() { let x = Foo { bar: 0, baz: 1 };

我在about中找到了以下代码:

{..}在这里是什么意思?

这是一种允许不需要指定对象的所有成员的方法。在这种情况下:

UserError::ValidationError { .. }
对于该匹配分支,枚举变量为ValidationError就足够了,无论其在本例字段中的内容如何:

当只涉及对象的某些成员时,它也很有用;考虑包含BAZ和BAR字段的FoO结构:

如果你只对baz感兴趣,你可以写:

fn main() {
    let x = Foo { bar: 0, baz: 1 };

    match x {
        Foo { baz, .. } => println!("{}", baz), // prints 1
        _ => (),
    }
}
— .. - variantx,…,struct_type{x,…}-“和其他”模式绑定
enum UserError {
    #[fail(display = "Validation error on field: {}", field)]
    ValidationError { field: String },
}
struct Foo {
    bar: usize,
    baz: usize,
}
fn main() {
    let x = Foo { bar: 0, baz: 1 };

    match x {
        Foo { baz, .. } => println!("{}", baz), // prints 1
        _ => (),
    }
}