热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Rust中的..=(点点等于)运算符是什么?

如何解决《Rust中的..=(点点等于)运算符是什么?》经验,为你挑选了1个好方法。

..=在一些Rust代码中看到了这个运算符:

for s in 2..=9 {
    // some code here
}

它是什么?



1> Lynn..:

这是包容性范围运算符.

该范围x..=y包含所有的值>= x<= y"而来,即x达到并包括 y ".

这与非包含范围运算符形成对比x..y,后者不包括y其自身.

fn main() {
    println!("{:?}", (10..20) .collect::>());
    println!("{:?}", (10..=20).collect::>());
}

// Output:
//
//     [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
//     [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

匹配表达式

您还可以start..=endmatch表达式中用作模式以匹配(包含)范围中的任何值.

match fahrenheit_temperature {
    70..=89  => println!("What lovely weather!"),
    _        => println!("Ugh, I'm staying in."),
}

使用专用范围start..end作为模式是实验性功能.请参阅问题#37854.

历史

包容性范围过去只是一个实验性的夜间特征,并且...之前已经编写过.

从Rust 1.26开始,它正式成为该语言的一部分,并编写..=.

(在包含范围存在之前,你实际上无法创建一系列字节值,包括255u8.因为它是0..256,并且256超出u8范围!这是问题#23635.)

也可以看看

该锈病1.26发布博客文章的介绍..=.

StackOverflow:如何在范围中包含结束值?


您可能想要添加一些有关为什么需要这种新语法的详细信息,例如当`n == 255`时,`0u8 ..(n + 1)`和`0u8 .. = n`之间的区别.
推荐阅读
author-avatar
519cxf
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有