在指定常量哈希映射时,请删除最佳实践



我正在尝试在Rust中设置一个常量、预定义的哈希映射。我不确定Rust对此的最佳实践是什么。

use std::collections::HashMap;
pub const Countries: HashMap<&str, &str> = [
("UK", "United Kingdom"),
("US", "United States")
].iter().cloned().collect();

这些内容稍后将在库中引用。

如果这很糟糕,我猜函数中的匹配是最好的方法吗?

您可以使用https://crates.io/crates/lazy_static(在运行时延迟执行(。

我个人使用https://crates.io/crates/phf(编译时静态集合(,如果数据确实是静态的。

use phf::{phf_map};
static COUNTRIES: phf::Map<&'static str, &'static str> = phf_map! {
"US" => "United States",
"UK" => "United Kingdom",
};

最新更新