Rust语言:Match控制模式
enum Coin {Penny,Nickel,Dime,Quarter,}fn value_in_cents(coin: Coin) -> u8 {match coin {Coin::Penny => 1,Coin::Nickel => 5,Coin::Dime => 10,Coin::Quarter => 25,}}fn main() {let p = Coin::Penny;let n = Coin::Nickel;value_in_cents(p);value_in_cents(n);}
fn value_in_cents(coin: Coin) -> u8 {match coin {Coin::Penny => {println!("Lucky penny!");1}Coin::Nickel => 5,Coin::Dime => 10,Coin::Quarter => 25,}}
#[derive(Debug)] // so we can inspect the state in a minuteenum UsState {Alabama,Alaska,// --snip--}enum Coin {Penny,Nickel,Dime,// 这里添加了一个Enum类型Quarter(UsState),}fn value_in_cents(coin: Coin) -> u8 {match coin {Coin::Penny => 1,Coin::Nickel => 5,Coin::Dime => 10,Coin::Quarter(state) => {println!("State quarter from {:?}!", state);25}}}fn main() {let u = Coin::Quarter(UsState::Alabama);value_in_cents(p);}
fn main() {fn plus_one(x: Option<i32>) -> Option<i32> {match x {None => None,=> Some(i + 1),}}let five = Some(5);let six = plus_one(five);let none = plus_one(None);}
fn main() {fn plus_one(x: Option<i32>) -> Option<i32> {match x {=> Some(i + 1),}}let five = Some(5);let six = plus_one(five);let none = plus_one(None);}
fn main() {fn plus_one(x: Option<i32>) -> Option<i32> {match x {=> Some(i + 1),a => a,}}let five = Some(5);let six = plus_one(five);let none = plus_one(None);}
fn main() {fn plus_one(x: Option<i32>) -> Option<i32> {match x {=> Some(i + 1),_ => temp(),}}let five = Some(5);let six = plus_one(five);let none = plus_one(None);fn temp(){}}
fn main() {let dice_roll = 9;match dice_roll {3 => add_fancy_hat(),7 => remove_fancy_hat(),_ => (),}fn add_fancy_hat() {}fn remove_fancy_hat() {}}
        THE END
    
        
        





