add match and match expressions
This commit is contained in:
@@ -1,23 +1,45 @@
|
||||
fn main() {
|
||||
|
||||
//if else statements
|
||||
let mut num1 = 10;
|
||||
let mut num2 = 5;
|
||||
|
||||
if num1 < num2 {
|
||||
println!("{} is smaller then {}", num1, num2);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
println!("{} is bigger then {}", num1, num2);
|
||||
}
|
||||
|
||||
//if expressions
|
||||
//always need a else case and must be of the same type, ternary operations do not exist but this results the same
|
||||
num1 = if num1 != num2 { 5 } else { 15 };
|
||||
println!("num 1: {}",num1)
|
||||
println!("num 1: {}", num1);
|
||||
|
||||
//match
|
||||
//same as switch case
|
||||
match num1 {
|
||||
1 => println!("Number is 1"),
|
||||
2 => println!("Number is 2"),
|
||||
3 => println!("Number is 3"),
|
||||
6 => println!("Number is 6"),
|
||||
7 => println!("Number is 7"),
|
||||
_ => println!("Number is none of the other statements"),
|
||||
}
|
||||
// _ is a default and altough syntax specifies => it should be an exact match
|
||||
|
||||
//combining match results
|
||||
match num2 {
|
||||
1 | 2 | 3 | 4 => println!("Number is in range of 1 to 4"),
|
||||
5 | 7 => println!("Number is 5 or 7"),
|
||||
_ => println!("Number is none of the above"),
|
||||
}
|
||||
|
||||
//match expression
|
||||
println!("Old number for num2: {}",num2);
|
||||
let num2 = match num2 {
|
||||
1 | 2 | 3 | 4 => 1234,
|
||||
5 | 7 => 57,
|
||||
_ => -1,
|
||||
};
|
||||
println!("New number for num2: {}",num2);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user