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; }