rust - 以安全简洁的方式迭代 HashMap 条目值的最简单方法
问题描述
这是我想做的一个例子:
let my_map: HashMap<i32, Vec<String>> = HashMap::new();
for v in my_map.get(&55).unwrap_or_else(|| &vec![]) {
// v is a String
}
my_map
可能有也可能没有带有指定键的条目。
有没有更简单(更简洁)的方法来做到这一点?如果没有,是否有一个同样简单的替代方案可以更好地执行,例如通过避免空向量初始化(以防 LLVM 不优化)?
解决方案
怎么样
if let Some(entry) = my_map.get(&55) {
for v in entry {
}
}
推荐阅读
- javascript - 如何自动关注列表的第一个元素
- c++ - std::decay 在 std::is_convertible 中是多余的吗?
- python - 在第二个 MacBook Pro 桌面上执行 PyAutoGUI 代码
- python - 如果我最初输入正确的输入,函数就可以工作,但是如果我尝试输入错误的输入然后输入正确的输入,它会给我一个属性错误
- python - 读取响应 python
- css - 我在哪里可以找到 firebaseui css 样式表?
- java - 来自 Firebase 的数据未显示在片段中的 RecyclerView 中
- javascript - 如何在 php 脚本中的 MySql 查询中存储和显示 JavaScript 变量中的日期值?
- python - 使用字典列表解析 JSON
- azure - 使用 Azure REST API 或 Azure 数据工厂从 Azure Timeseries 见解中导出数据