capypad
0 day streak
rust / beginner
Snippet

Basic Enumerations

Enums allow you to define a type by enumerating its possible variants. Here Direction has four variants representing cardinal directions. The match expression checks which variant we have and handles each case accordingly.

snippet.rs
rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
enum Direction {
North,
South,
East,
West,
}
 
fn main() {
let heading = Direction::North;
match heading {
Direction::North => println!("Heading north!"),
Direction::South => println!("Heading south!"),
Direction::East => println!("Heading east!"),
Direction::West => println!("Heading west!"),
}
}
Breakdown
1
enum Direction {
Begins enum definition with four variants
2
North, South, East, West,
Each variant is a distinct value of Direction type
3
let heading = Direction::North;
Creates instance using :: syntax to specify variant
4
match heading { ... }
Match expression handles each enum variant