gpt4 book ai didi

rust - 如何从 env::var 返回匹配的值?

转载 作者:行者123 更新时间:2023-11-29 08:10:11 28 4
gpt4 key购买 nike

如果找到环境变量SOMEVALUE,它应该绑定(bind)到k:

let k = match env::var(SOMEVALUE) {
Ok(val) => {return val},
Err(e) => println!("could not find {}: {}", SOMEVALUE, e),
};

编译这段代码会出现以下错误

   |
11 | Ok(val) => {return val},
| ^^^ expected (), found struct `std::string::String`
|
= note: expected type `()`
found type `std::string::String`

最佳答案

Victor 写的是正确的,但您可能想实际绑定(bind)一个值到 k;在这种情况下,您应该将代码更改为:

let k = match env::var(SOMEVALUE) {
Ok(val) => val,
Err(e) => panic!("could not find {}: {}", SOMEVALUE, e),
};

等效地,您可以使用 Result::unwrap_or_else :

let k = env::var(SOMEVALUE).unwrap_or_else(|e| {
panic!("could not find {}: {}", SOMEVALUE, e)
});

关于rust - 如何从 env::var 返回匹配的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44947920/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com