rust - How do I conditionally execute code only when an Option is None?
问题描述
如果函数在可选值中返回值,我不想采取行动;我如何None
只测试案例?这段代码有效,但看起来很糟糕。
let v = ffunc();
match v {
None => { callproc() },
Some(x) => { }
}
在 C 中,我可以写:
int x = ffunc();
if ( !x ) { callproc() }
解决方案
要检查是否Option
是,None
您可以使用Option::is_none
或使用if let
语法。
例如:
let x = ffunc();
if let None = x {
println!("x is None")
}
或使用以下Option::is_none
功能:
let x = ffunc();
if x.is_none() {
println!("x is None")
}
推荐阅读
- java - JPA 外键 OneToMany
- c++ - 错误地将自动类型说明符与 Eigen 对象一起使用
- sql - Oracle SQL - 在自身上加入表,ON(列 * -1)
- matlab - 重新排列matlab中相关的两个向量
- oracle - 过滤Oracle查询结果表
- c# - 如何对长 LINQ 链中可枚举的每个项目进行断言
- android - 如何使用具有分辨率切换功能的原生 Android 制作视频播放器,就像我们在 YouTube 中看到的那样?
- sql - 用于查找过去 120 天内未登录的用户的 SQL 查询
- scala - 如何从 Scala 中的 DataFrame 在 Spark 中创建分布式稀疏矩阵
- angular - 如何在Angular Material中循环聚焦()在扩展面板上?