Rust编程中可能会遇到像下面这样的代码块
let x = Some(5);
match x {
Some(_) => {do_something();},
None => {}
}
可以看到None对应的分支没有任何动作,代码看起来不够紧凑优雅,我们可以使用if-let语句进行改写:
let x = Some(5);
if let Some(_) = x {
do_something()
}
这样写出来代码看起来会紧凑很多,不必使用match语句。if-let 语句的范式为:
if let pattern = expression {
do_something()
} else {
other()
}
while-let语句也遵循同样的范式:
while let pattern = expression {
do_something()
}
网友评论