match with conditions
- The variable in each arm can be all the same or they can be different.
fn number(num: i32) {
match num {
x if x > 30 => println!("{} is above 30", x),
x if x > 20 => println!("{} is above 20", x),
neg if neg < 0 => println!("{} is negative", neg),
_ => println!("other: {num}"),
}
}
fn main() {
number(40);
number(30);
number(0);
number(-7);
}
40 is above 30
30 is above 20
other: 0
-7 is negative