Skip to content

Latest commit

 

History

History
92 lines (92 loc) · 2.75 KB

5.conditional-expressions.md

File metadata and controls

92 lines (92 loc) · 2.75 KB

Types of conditional expression:

  • if expression
    • if expression
      if learn_language == "Rust" { 
         println!("You are learning Rust language!");
      }
    • if...else expression
      if learn_language == "Rust" { 
         println!("You are learning Rust language!");
      }
      else {
         println!("You are learning some other language!");
      } 
    • if...else if...else Expression
      if learn_language == "Rust" { 
         println!("You are learning Rust language!");
      } else if learn_language == "Java" { 
         println!("You are learning Java language!");
      } else {
         println!("You are learning some other language!");
      } 
    • ternary if-else Expression
     let res= if learn_language == "Rust" {"You are learning Rust language!"} else {"You are learning some other language!"};
  • if let expression
     //todo
  • match expression
      let x = 5;
      // define match expression
      match x {
            1 => println!("Java"),
            2 => println!("Python"),
            3 => println!("C++"),
            4 => println!("C#"),
            5 => println!("Rust"),
            6 => println!("Kotlin"),
            _ => println!("Some other value"),
      };
      let course = "Rust";
      // return value of match expression in a variable
      let found_course = match course {
          "Rust" => "Object/Functional",
          "Java" => "Object",
          "C++" => "Object",
          "C#" => "Object",
          _ => "Unknown Language"
      };
  • advanced match
      let m = 10;
      match m {
          1..=3 => println!("a"),
          10 | 12 | 13 => println!("c"),
          15..=30 => println!("b"),
          _ => println!("default")
      }
      match m {
           n @ 1..=3 => println!("a with matched value {}", n),
           n @ 10 | 12 | 13 => println!("c  with matched value {}", n),
           n @ 15..=30 => println!("b  with matched value {}", n),
           _ => println!("default")
      }
      let matched_age = match m {
           n @ 1..=3 => 3,
           n @ 10 | 11 | 12 | 13 => 13,
           n @ 15..=30 => 30,
           _ => 100
      }        
      let tup = (1,2);
      match tup {
          (1, x) => println!("print value, {}",x), // x is 2
          (y, 2) => println!("print value, {}",y), // y is 1
          _ => println!("default")
      }
      match tup {
          (x, y) if x==y => println!("they are equal",x), 
          (x, y) if x+y==3 => println!("they have 3 as sum, {}",x+y),
          (x, _) if x%2==0 => println!("x is even number"), 
           _ => println!("default")
      }