例子:git
// 一、匹配字面值 // fn main() { // let x = 1; // match x { // 1 => println!("one"), // 2 => println!("two"), // _ => println!("xx"), // }; // } // 二、匹配命名變量 // 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 // } // 三、多個模式 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.rsgithub