我想打开 cookie 或返回一个空的 &str
什么时候None
:
let cookie: Option<Cookie> = req.cookie("timezone");
// right, but foolish:
let timezone: String = match cookie {
Some(t) => t.value().to_string(),
None => "".into(),
};
这是一个错误:let timezone = cookie.unwrap_or("").value();
最佳答案
您可以使用 unwrap_or_default
加map
,你要的是提取一个String
值,如果无法完成,则使用默认值。订单事项:
let timezone: String = cookie.map(|c| c.value().to_string()).unwrap_or_default();
Playground
关于rust - 有没有更优雅的方法来用默认字符串解开 Option<Cookie> ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63185477/