在下面的两个片段之间,哪个更好/更喜欢?
fn main() {
let pair = 7;
match pair {
pair if pair > 5 => println!("Yeah"),
_ => println!("No"),
}
}
fn main() {
let pair = 7;
match pair {
_ if pair > 5 => println!("Yeah"),
_ => println!("No"),
}
}
还有更好的方法来写这个吗?因为这不起作用:
fn main() {
let pair = 7;
match pair {
> 5 => println!("Yeah"),
_ => println!("No"),
}
}
答案 0 :(得分:5)
首选不绑定匹配变量的版本:
fn main() {
let pair = 7;
match pair {
_ if pair > 5 => println!("Yeah"),
_ => println!("No"),
}
}
这是匹配的最短版本。当然,这个例子可以使用if
。
我真的很惊讶第一个版本没有对未使用的变量发出警告。