例子:
// 1、匹配字面值
// fn main() {
// let x = 1;
// match x {
// 1 => println!("one"),
// 2 => println!("two"),
// _ => println!("xx"),
// };
// }
// 2、匹配命名變量
// fn main() {
// let x = Some(5);
// let y = 10; // 位置1
// match x {
// Some(50) => println!("50"),
// Some(y) => println!("value = {}", y), // 此處的y不是位置1的y
// _ => println!("other"),
// };
//
// println!("x = {:?}, y = {:?}", x, y); // 此處的y是位置1的y
// }
// 3、多個模式
fn main() {
let x = 1;
match x {
1|2 => println!("1 or 2"), // |表示是或,匹配1或者2
3 => println!("3"),
_ => println!("xx"),
};
}
本節全部源代碼:
https://github.com/anonymousGiga/learn_rust/blob/master/learn_pattern2/src/main.rs