本文简要介绍rust语言中 std::collections::hash_map::RawEntryMut.or_insert_with
的用法。
用法
pub fn or_insert_with<F>(self, default: F) -> (&'a mut K, &'a mut V) where F: FnOnce() -> (K, V), K: Hash, S: BuildHasher,
如果为空,则通过插入默认函数的结果来确保值在条目中,并返回对条目中键和值的可变引用。
例子
#![feature(hash_raw_entry)]
use std::collections::HashMap;
let mut map: HashMap<&str, String> = HashMap::new();
map.raw_entry_mut().from_key("poneyland").or_insert_with(|| {
("poneyland", "hoho".to_string())
});
assert_eq!(map["poneyland"], "hoho".to_string());
相关用法
- Rust RawEntryMut.or_insert用法及代码示例
- Rust RawEntryMut.and_modify用法及代码示例
- Rust Range.is_empty用法及代码示例
- Rust RangeTo用法及代码示例
- Rust RangeInclusive.start用法及代码示例
- Rust Range用法及代码示例
- Rust RangeBounds.contains用法及代码示例
- Rust RangeInclusive.contains用法及代码示例
- Rust RangeFrom.contains用法及代码示例
- Rust RangeFull用法及代码示例
- Rust RangeBounds.end_bound用法及代码示例
- Rust RangeInclusive.into_inner用法及代码示例
- Rust RangeToInclusive用法及代码示例
- Rust RangeToInclusive.contains用法及代码示例
- Rust RangeTo.contains用法及代码示例
- Rust RangeInclusive.end用法及代码示例
- Rust RangeInclusive.new用法及代码示例
- Rust RangeFrom用法及代码示例
- Rust Range.contains用法及代码示例
- Rust RangeInclusive用法及代码示例
- Rust RandomState.new用法及代码示例
- Rust RangeInclusive.is_empty用法及代码示例
- Rust RandomState用法及代码示例
- Rust RangeBounds.start_bound用法及代码示例
- Rust Result.unwrap_or_else用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::collections::hash_map::RawEntryMut.or_insert_with。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。