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


Rust Bound用法及代碼示例


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

用法

pub enum Bound<T> {
    Included(T),
    Excluded(T),
    Unbounded,
}

一係列鍵的端點。

例子

Bound 是範圍端點:

use std::ops::Bound::*;
use std::ops::RangeBounds;

assert_eq!((..100).start_bound(), Unbounded);
assert_eq!((1..12).start_bound(), Included(&1));
assert_eq!((1..12).end_bound(), Excluded(&12));

使用 Bound 的元組作為 BTreeMap::range 的參數。請注意,在大多數情況下,最好使用範圍語法 (1..5)。

use std::collections::BTreeMap;
use std::ops::Bound::{Excluded, Included, Unbounded};

let mut map = BTreeMap::new();
map.insert(3, "a");
map.insert(5, "b");
map.insert(8, "c");

for (key, value) in map.range((Excluded(3), Included(8))) {
    println!("{}: {}", key, value);
}

assert_eq!(Some((&3, &"a")), map.range((Unbounded, Included(5))).next());

變體

Included(T)

元組字段

0: T

一個包容的界限。

Excluded(T)

元組字段

0: T

獨家綁定。

Unbounded

一個無限的端點。表示這個方向沒有界限。

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Enum core::ops::Bound。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。