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


Rust Entry.or_insert_with_key用法及代码示例


本文简要介绍rust语言中 std::collections::btree_map::Entry.or_insert_with_key 的用法。

用法

pub fn or_insert_with_key<F>(self, default: F) -> &'a mut V where    F: FnOnce(&K) -> V,

通过插入(如果为空)默认函数的结果来确保值在条目中。此方法允许通过为默认函数提供对在 .entry(key) 方法调用期间移动的键的引用来生成用于插入的键派生值。

.or_insert_with(|| ... ) 不同,提供了对移动 key 的引用,因此不需要克隆或复制 key 。

例子

use std::collections::BTreeMap;

let mut map: BTreeMap<&str, usize> = BTreeMap::new();

map.entry("poneyland").or_insert_with_key(|key| key.chars().count());

assert_eq!(map["poneyland"], 9);

相关用法


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