首页 > 解决方案 > 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() } 

标签: rust

解决方案


要检查是否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")
}

推荐阅读