匹配元組值

Rust 程式廣泛使用模式匹配來解構值,無論是使用 matchif let 還是解構 let 模式。可以像使用 match 一樣解構元組

fn foo(x: (&str, isize, bool)) {
    match x {
        (_, 42, _) => println!("it's 42"),
        (_, _, false) => println!("it's not true"),
        _ => println!("it's something else"),
    }
}

或與 if let

fn foo(x: (&str, isize, bool)) {
    if let (_, 42, _) = x {
        println!("it's 42");
    } else {
        println!("it's something else");
    }
}

你也可以使用 let-deconstruction 繫結元組內部

fn foo(x: (&str, isize, bool)) {
    let (_, n, _) = x;
    println!("the number is {}", n);
}