本文簡要介紹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 Entry.or_insert_with用法及代碼示例
- Rust Entry.or_insert用法及代碼示例
- Rust Entry.or_default用法及代碼示例
- Rust Entry.and_modify用法及代碼示例
- Rust Entry.key用法及代碼示例
- Rust Entry.insert用法及代碼示例
- Rust ExitStatus.code用法及代碼示例
- Rust Error.source用法及代碼示例
- Rust Eq用法及代碼示例
- Rust Error.last_os_error用法及代碼示例
- Rust ExactSizeIterator.is_empty用法及代碼示例
- Rust Extend.extend用法及代碼示例
- Rust ExitStatusError.code用法及代碼示例
- Rust ExactSizeIterator用法及代碼示例
- Rust Error.chain用法及代碼示例
- Rust Error.description用法及代碼示例
- Rust ExitStatusError用法及代碼示例
- Rust Error.kind用法及代碼示例
- Rust ExitStatus.exit_ok用法及代碼示例
- Rust ExitStatus.success用法及代碼示例
- Rust Error.from_raw_os_error用法及代碼示例
- Rust Extend用法及代碼示例
- Rust Error.get_ref用法及代碼示例
- Rust Error用法及代碼示例
- Rust Error.into_inner用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::collections::btree_map::Entry.or_insert_with_key。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。