| # Enums and Pattern Matching |
| |
| In this chapter, we’ll look at _enumerations_, also referred to as _enums_. |
| Enums allow you to define a type by enumerating its possible _variants_. First |
| we’ll define and use an enum to show how an enum can encode meaning along with |
| data. Next, we’ll explore a particularly useful enum, called `Option`, which |
| expresses that a value can be either something or nothing. Then we’ll look at |
| how pattern matching in the `match` expression makes it easy to run different |
| code for different values of an enum. Finally, we’ll cover how the `if let` |
| construct is another convenient and concise idiom available to handle enums in |
| your code. |