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


Rust Bound用法及代码示例


本文简要介绍rust语言中 Enum std::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 std::ops::Bound。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。