當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust RangeFrom用法及代碼示例


本文簡要介紹rust語言中 Struct core::ops::RangeFrom 的用法。

用法

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

僅包含在以下範圍內的範圍(start..)。

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

注意: 溢出core::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 core::ops::RangeFrom。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。