匹配元组值
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);
}