問題一覧に戻る
初級所有権
問題36: タプル

タプルは異なる型の値をまとめて保持できる複合型です。要素数と各要素の型は固定で、括弧()で定義します。要素へのアクセスは0から始まるインデックス(.0、.1など)を使います。パターンマッチングで個別の変数に分解でき、関数から複数の値を返す際によく使われます。

fn main() {
// タプルの定義
let person: (, i32, ) = ("Alice", 30, true);

// 要素へのアクセス
println!("Name: {}", person.);
println!("Age: {}", person.);

// パターンマッチングで分解
let (name, age, ) = person;
println!("{} is {} years old", name, age);

// タプルを返す関数
fn get_coordinates() -> (f64, ) {
(10.5, 20.3)
}

let (x, y) = get_coordinates();
println!("x: {}, y: {}", x, y);
}