• 结构体
    • 参见:

    结构体

    类似地,解构 struct 如下所示:

    1. fn main() {
    2. struct Foo { x: (u32, u32), y: u32 }
    3. // 解构结构体的成员
    4. let foo = Foo { x: (1, 2), y: 3 };
    5. let Foo { x: (a, b), y } = foo;
    6. println!("a = {}, b = {}, y = {} ", a, b, y);
    7. // 可以解构结构体并重命名变量,成员顺序是不重要的
    8. let Foo { y: i, x: j } = foo;
    9. println!("i = {:?}, j = {:?}", i, j);
    10. // 也可以忽略某些变量
    11. let Foo { y, .. } = foo;
    12. println!("y = {}", y);
    13. // 这将得到一个错误:模式中没有提及 `x` 字段
    14. // let Foo { y } = foo;
    15. }

    参见:

    结构体, ref 模式