On this page
article
Match Expression
Match Expression
What Is a match Expression?
Match expression checks if the current value corresponds to any value within the list of values. Match expression are similar to switch statement in languages like C and C++. They give a more compact code when compared with the if/else construct.
Syntax Match expression uses a match keyword. The match expression can be written in two different ways, which are given below:
Method 1: If you do not want to assign a value to the result variable from within the match block
fn main() {
// define a variable
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"),
};
}
output:-
Rust
Method 2:
If you want to assign a value to the result variable from within the match block
fn main(){
// define a variable
let course = "Rust";
// return value of match expression in a variable
let found_course = match course {
"Rust" => "Rust",
"Java" => "Java",
"C++" => "C Plus Plus",
"C#" => "C Sharp",
_ => "Unknown Language"
};
println!("Course name : {}",found_course);
}
output:-
Course name : Rust
Quiz
Test your understanding of match expression in Rust.
---
primaryColor: steelblue
secondaryColor: '#e8e8e8'
textColor: black
shuffleQuestions: false
shuffleAnswers: true
locale: en
---
# What is the output of the following code?
```
fn main() {
let x = 21;
match x {
1 => println!("Java"),
2 => println!("Python"),
3 => println!("C++"),
4 => println!("C#"),
5 => println!("Rust"),
6 => println!("Kotlin"),
_ => println!("Some other value"),
}
}
```
- [ ] Python
Java
- [ ] Some other value
# What is the output of the following code? ``` fn main() { let mut x = 2; match x { 1 => println!("Java"), 2 => println!("Python"), 3 => println!("C++"), 4 => println!("C#"), 5 => println!("Rust"), 6 => println!("Kotlin"), _ => println!("Some other value"), } x = 1; match x { 1 => println!("Java"), 2 => println!("Python"), 3 => println!("C++"), 4 => println!("C#"), 5 => println!("Rust"), 6 => println!("Kotlin"), _ => println!("Some other value"), } } ``` - [ ] Python
Java
- [ ] Some other value
- [ ] Java
Python
Java
- [ ] Some other value
# What is the output of the following code? ``` fn main() { let mut x = 2; match x { 1 => println!("Java"), 2 => println!("Python"), 3 => println!("C++"), 4 => println!("C#"), 5 => println!("Rust"), 6 => println!("Kotlin"), _ => println!("Some other value"), } x = 1; match x { 1 => println!("Java"), 2 => println!("Python"), 3 => println!("C++"), 4 => println!("C#"), 5 => println!("Rust"), 6 => println!("Kotlin"), _ => println!("Some other value"), } } ``` - [ ] Python
Java
- [ ] Some other value
- [ ] Java
Python
Last updated 25 Jan 2024, 05:11 +0530 .