使用 if let 管理简约控制流
let config_max = Some(3u8);
match config_max {
Some(max) => println!("The maximum is configured to be {}", max),
_ => (),
}
对于以上这种不想对 None 值做任何处理的情况,可以使用 if let
let config_max = Some(3u8);
if let Some(max) = config_max {
println!("The maximum is configured to be {}", max);
}
if let 可以看作是 match 的语法糖,用于只关心匹配某种情况而不需要处理其他情况的场景
如果想处理其他场景,也可以使用 else
let mut count = 0;
match coin {
Coin:Quarter(state) => println!("State quarter from {:?}", state),
_ => count += 1,
}
let mut count = 0;
if let Coin:Quarter(state) = coin {
println!("State quarter from {:?}!", state);
} else {
count += 1;
}