Cargo.toml中添加依赖
[dependencies]
lazy_static = "1.4.0"
use std::collections::HashMap;
use lazy_static::lazy_static;
use std::sync::Mutex;
lazy_static! {
static ref MAP: Mutex<HashMap<String, String>> = {
let map:HashMap<String, String> = HashMap::new();
Mutex::new(map)
};
}
fn main() {
put_key("key".to_string(), "value".to_string());
if let Some(value) = get_value(String::from("key")) {
println!("{}", value);
} else {
println!("没有找到该值");
}
if let Some(value) = get_value(String::from("aaa")) {
println!("{}", value);
} else {
println!("没有找到该值");
}
}
/**
* 往map中插入key-value
*/
pub fn put_key(key: String, value: String) {
MAP.lock().unwrap().insert(key, value);
}
/**
* 从map中获取key对应的value
*/
pub fn get_value(key: String) -> Option<String> {
let guard = MAP.lock().unwrap();
if let Some(value) = guard.get(&key) {
return Some(value.to_string());
}
return None;
}