我是 Rust 新手,正在寻找好的样式选项来处理以下内容:
假设foo返回Option<i32>。我正在foo循环调用,如果它返回,None我只想继续前进。现在我发现自己在做类似的事情:
for _whatever in something {
let data = foo();
if data.is_none() {
continue;
}
let data = data.unwrap();
// other stuff
}
Run Code Online (Sandbox Code Playgroud)
还不错,可读性很好,但我忍不住觉得它可以更简洁。None这感觉像是一个非常常见的用例,我想知道我可能需要哪些其他选项来实现类似的目标,以及是否有公认的最佳实践以这种方式处理。
我尝试过match在 上使用语句和条件is_none,发现后者稍好一些。
rust ×1