小编fre*_*eas的帖子

是否可以构建一个引用环境变量的 &str HashMap?

我正在尝试制作环境变量的只读映射。

fn os_env_hashmap() -> HashMap<&'static str, &'static str> {
    let mut map = HashMap::new();
    use std::env;
    for (key,val) in env::vars_os() {
        let k = key.to_str();
        if k.is_none() { continue } 
        let v = val.to_str();
        if v.is_none() { continue }
        k.unwrap();
        //map.insert( k.unwrap(), v.unwrap() );
    }
    return map;
}
Run Code Online (Sandbox Code Playgroud)

如果没有关于 key、val、k 和 v 是本地的编译器错误,似乎无法取消对底部附近的“插入”行的注释。

也许可以通过使用 String 而不是 str 来修复编译器错误,但 str 似乎非常适合只读结果。

随意建议一个更惯用的方法来做到这一点。

rust

1
推荐指数
1
解决办法
166
查看次数

标签 统计

rust ×1