当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust RangeFrom用法及代码示例


本文简要介绍rust语言中 Struct std::ops::RangeFrom 的用法。

用法

pub struct RangeFrom<Idx> {
    pub start: Idx,
}

仅包含在以下范围内的范围(start..)。

RangeFrom start.. 包含所有带有 x >= start 的值。

注意: 溢出std::iter::Iterator实现(当包含的数据类型达到其数值限制时)允许Panics、换行或饱和。这种行为是由实现定义的Step特征。对于原始整数,这遵循正常规则,并遵守溢出检查配置文件(调试中的Panics,发布中的包装)。另请注意,溢出发生的时间比您想象的要早:溢出发生在调用next这会产生最大值,因为必须将范围设置为一个状态才能产生下一个值。

例子

start.. 语法是 RangeFrom

assert_eq!((2..), std::ops::RangeFrom { start: 2 });
assert_eq!(2 + 3 + 4, (2..).take(3).sum());
let arr = [0, 1, 2, 3, 4];
assert_eq!(arr[ ..  ], [0, 1, 2, 3, 4]);
assert_eq!(arr[ .. 3], [0, 1, 2      ]);
assert_eq!(arr[ ..=3], [0, 1, 2, 3   ]);
assert_eq!(arr[1..  ], [   1, 2, 3, 4]); // This is a `RangeFrom`
assert_eq!(arr[1.. 3], [   1, 2      ]);
assert_eq!(arr[1..=3], [   1, 2, 3   ]);

字段

start: Idx

范围的下限(包括)。

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Struct std::ops::RangeFrom。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。