Rust之match关键字

在Rust 中 没有 switch 语句。matcher 就是 switch 的一个变形,但比其它语言中的 switch 更强大!

一、简单举例说明

简单的 matcher 和 if 语句很相似,假设是简单的条件推断能够用if语句:

let n = 5;
 
if n < 0 {
    print!("{} is negative", n);
} else if n > 0 {
    print!("{} is positive", n);
} else {
    print!("{} is zero", n);
}

复杂一些的条件推断,使用 if 语句就有些力不从心了。

而使用 match 能够这样写:

let x = 5;
 
match x {
    1 => println!("one"),
    2 => println!("two"),
    3 => println!("three"),
    4 => println!("four"),
    5 => println!("five"),
    _ => println!("something else"),
}

假设 x == 1 ,打印 one
假设 x == 2, 打印 two
假设 x == 3, 打印 three
假设 x == 4, 打印 four
假设 x == 5, 打印 five
假设没有与 x 匹配的值,则运行 _ 对应的语句,即打印 something else。

解释一下上面的代码的match语句,

  • match 是关键字。
  • x 是表达式。(非结构化的文本表达式)
  • match语句内容包括在 {}大括号里;
  • 括号里的每一个 => 叫做 match-arm。
  • 大括号里能够包括随意多个 match-arm。
  • 当 x 存在可能不匹配的情况时,大括号里必须包括 _ => 来覆盖不论哪种不匹配的情况下运行的语句,就像 switch 中的
    default 一样。

match关键字
match关键字
Rust 1.7.0 匹配器 match 的简介和使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值