← Rust コース
53. 分配束縛 — structとタプルをほどく
let Point { x, y } = p; のように書くと、構造体のフィールドをフィールド名と同じ名前の変数に一度に取り出せます。タプルも let (name, price) = pair; のようにほどけて、パターンの中にパターンを書くネストもできます。
関数がタプルを返すときや、構造体の複数のフィールドをまとめて使いたいときに、p.x、p.y と書き続けるより短く、何を取り出したいのかが明確になります。match の腕だけでなく let や関数の引数でも同じパターンが使えるのが、Rust の一貫した設計です。
フィールド名と違う変数名を付けたいときは、let Point { x: a, y: b } = p; のようにコロンの後ろに変数名を書きます。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
Rust
サンプルコードで身につける(5本) →
学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。
公式ドキュメントで詳しく ↗