macro_rules! hash_map {
() => { ... };
( $( $key:expr => $value:expr ),* $(,)? ) => { ... };
}🔬This is a nightly-only experimental API. (
hash_map_macro #144032)Expand description
Creates a HashMap containing the arguments.
hash_map! allows specifying the entries that make
up the HashMap where the key and value are separated by a =>.
The entries are separated by commas with a trailing comma being allowed.
It is semantically equivalent to using repeated HashMap::insert
on a newly created hashmap.
hash_map! will attempt to avoid repeated reallocations by
using HashMap::with_capacity.
§Examples
#![feature(hash_map_macro)]
let map = hash_map! {
"key" => "value",
"key1" => "value1"
};
assert_eq!(map.get("key"), Some(&"value"));
assert_eq!(map.get("key1"), Some(&"value1"));
assert!(map.get("brrrrrrooooommm").is_none());And with a trailing comma
#![feature(hash_map_macro)]
let map = hash_map! {
"key" => "value", // notice the ,
};
assert_eq!(map.get("key"), Some(&"value"));The key and value are moved into the HashMap.