能否在Rust中更简洁、声明式地初始化HashMap?
大家好!我刚开始学习Rust,遇到了一个问题:我需要创建一个包含几个预定义键值对的HashMap。我现在写的代码看起来非常冗长:
```rust
use std::collections::HashMap;
let mut scores = HashMap::new();
scores.insert(String::from("Blue"), 10);
scores.insert(String::from("Yellow"), 50);
scores.insert(String::from("Red"), 25);
```
三个键值对就占了6行!在Python里,我可以一行写成 `{"Blue": 10, "Yellow": 50, "Red": 25}`。在JavaScript里,也是 `{Blue: 10, Yellow: 50, Red: 25}`。但在Rust里,却要写一堆样板代码。
我试过用 `vec![]` 宏然后 `.into_iter().collect()`,但这感觉不太对。有没有内置的 `hashmap!{}` 宏或其他方法能让初始化更简洁、声明式?也许有某个crate能实现这个?或者我只是没有用对惯用的Rust写法?
请指教,谢谢!