January 2018
Beginner to intermediate
454 pages
10h 8m
English
It's common to use pattern matching through match blocks in Rust. However, it's often a better solution to use if let conditions. Let's take a simple example:
enum SomeEnum {
Ok,
Err,
Unknown,
}
Now let's say you want to perform an action only when you get Ok. With a match, you would do this:
let x = SomeEnum::Err;
match x {
SomeEnum::Ok => {
// Huge code doing a lot of things...
}
_ => {}
}
Not really an issue, right? Now let's see it with an if let:
let x = SomeEnum::Err;
if let SomeEnum::Ok = x {
// Huge code doing a lot of things...
}
And that's it. It basically makes the code a little shorter, while improving readability a lot. Whenever you just need to get one value, it's often a better solution to use if let instead of match ...