Rust : 高富帅的match

match绝对是Rust的亮点,其官网的首页也证明了这点。match终于告别switch时代,让人耳目一新。

不仅颜值高,而且是深不可测,用牛BHH来讲,是不过分。接下来,希望好好整一下。

1、替代老旧的if else.
match不仅能用在固定值的场合,带“范围”的也是没问题的。
不过,在这儿,用上了guard.

    let temp =2.0_f32;
    match temp {
        x if x > 0_f32 => println!(">0"),    //if x> 0=>guard模式
        _ => println!("<=0"),
    }

2、最佳的场合,enum

齐整呀!

enum Color {
    // These 3 are specified solely by their name.
    Red,
    Blue,
    Green,}
let color = Color::Red;
println!("What color is it?");
match color {
    Color::Red   => println!("The color is Red!"),
    Color::Blue  => println!("The color is Blue!"),
    Color::Green => println!("The color is Green!"),
}

3、绑定

绝对完美!

    let var =5_u32;
    match age() {
        0             => println!("I'm not born yet I guess"),
        n @ 1  ... 12 => println!("I'm a child of age {:?}", n),
        n @ 13 ... 19 => println!("I'm a teen of age {:?}", n),
        n             => println!("I'm an old person of age {:?}", n),
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值