如果SOMEVALUE找到环境变量,则应绑定到k:
let k = match env::var(SOMEVALUE) {
Ok(val) => {return val},
Err(e) => println!("could not find {}: {}", SOMEVALUE, e),
};
Run Code Online (Sandbox Code Playgroud)
编译此代码会出现以下错误
|
11 | Ok(val) => {return val},
| ^^^ expected (), found struct `std::string::String`
|
= note: expected type `()`
found type `std::string::String`
Run Code Online (Sandbox Code Playgroud)
Victor写的是正确的,但你可能想要实际绑定一个值k; 在这种情况下,您应该将代码更改为:
let k = match env::var(SOMEVALUE) {
Ok(val) => val,
Err(e) => panic!("could not find {}: {}", SOMEVALUE, e),
};
Run Code Online (Sandbox Code Playgroud)
同样,您可以使用Result::unwrap_or_else:
let k = env::var(SOMEVALUE).unwrap_or_else(|e| {
panic!("could not find {}: {}", SOMEVALUE, e)
});
Run Code Online (Sandbox Code Playgroud)