匹配元組值
Rust 程式廣泛使用模式匹配來解構值,無論是使用 match
,if 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);
}