7.5.1.4 structs

유사하게, 다음처럼 struct는 역구조화된다.

fn main() {
    struct Foo { x: (u32, u32), y: u32 }

    // 구조체의 멤버를 역구조화 
    let foo = Foo { x: (1, 2), y: 3 };
    let Foo { x: (a, b), y } = foo;

    println!("a = {}, b = {},  y = {} ", a, b, y);

    // 구조체를 역구조화 시키거나 변수의 이름을 변경할 수 있고,
    // 순서는 중요치 않다.
    let Foo { y: i, x: j } = foo;
    println!("i = {:?}, j = {:?}", i, j);

    // 몇 가지 변수를 무시하는 것 또한 가능하다. 
    let Foo { y, .. } = foo;
    println!("y = {}", y);

    // 이는 에러를 발생한다: `x` 필드에 대한 취급 패턴이 없기 때문.
    // let Foo { y } = foo;
}

See also:

Structs, The ref pattern

results matching ""

    No results matching ""