E0015 错误提示: 只有 const 类型函数能被静态或常量表达式调用。
我们无法通过 static 的方式生命 HashMap 的全局变量。因此我们引入 lazy_static 来帮助我们实现 HashMap 的全局静态变量。
我的项目(初学者项目)结构
在Cargo.toml中的dependies下添加依赖
在你需要加载静态HashMap的地方引入 lazy_static 库
#[macro_use]
extern crate lazy_static;
初始化你的静态HashMap
lazy_static! {
static ref DATA_MAP: Mutex<HashMap<String, String>> = {
let mut map:HashMap<String, String> = HashMap::new();
map.insert("1".to_string(),"one".to_string());
map.insert("2".to_string(),"two".to_string());
map.insert("3".to_string(),"three".to_string());
Mutex::new(map)
};
}