rust学习——范围操作符

范围操作符

代码来自Rust圣经模式匹配

fn main() {
    let foo = 'f';
    assert!(matches!(foo, 'A'..='Z' | 'a'..='z'));
}

在 Rust 中,'A'..='Z' 这种语法表示一个范围,其中 ..= 是范围操作符。这里的两个点实际上是范围操作符的一部分,它们用来指定一个闭区间范围,也就是包括区间的起始值和结束值。

具体到 'A'..='Z',这意味着从字符 'A' 开始,到字符 'Z' 结束的所有字符,包括 'A''Z' 本身。由于字符在 Rust 中是按照 Unicode 标准编码的,因此这个范围实际上是从 'A' 的 Unicode 码点开始到 'Z' 的 Unicode 码点结束的所有字符。

同样的逻辑也适用于 'a'..='z',它表示所有的小写字母。当这两个范围用 | 操作符连接起来时,matches! 宏就会检查 foo 是否落在任何一个范围内,即 foo 是否是一个大写字母或小写字母。

函数解释

此 Rust 函数功能如下:

  1. 初始化变量:

    • let foo = 'f';: 定义一个字符变量 foo 并赋值为 'f'
  2. 条件匹配检查:

    • 使用 matches! 宏来检查 foo 是否满足以下条件之一:
      • 处于 'A''Z' 之间(包括 'A''Z'),即大写字母。
      • 处于 'a''z' 之间(包括 'a''z'),即小写字母。
  3. 断言执行:

    • assert!(matches!(foo, 'A'..='Z' | 'a'..='z'));: 如果 foo 的值是字母(大写或小写),则断言成功;否则,程序将因断言失败而终止。

该函数用于验证给定字符是否为英文字母,并在非字母时触发断言错误。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值