- 01Setting up (what you'll need)
- 02Your first output (println!)
- 03Variables and mutability (let / mut)
- 04Type annotations and basic types
- 05Branching (the if statement)
- 06Repeating (the for loop)
- 07Writing your own function
- 08Repeating (while and loop)
- 09Ownership, the basics
- 10Borrowing (references, &)
- 11Working with vectors (Vec)
- 12Structs
- 13enum and the match expression
- 14The Option type (null safety)
- 15The Result type and error handling
- 16Traits
- 17Generics
- 18Closures
- 19Working with strings (String)
- 20[Project] Build a small inventory system
enum and the match expression
This lesson covers the enum, which represents a value of several possible kinds, and the match expression that branches on it.
An enum is a type meaning "one of these fixed options". A match expression branches according to the pattern of a value, and is considerably more powerful than a switch statement.
The sample code defines enum Weekday { Mon, Tue, Wed, ... } and prints a different message per day with match today { Weekday::Mon => ..., ... }.
A common early stumble is that a match expression must cover every pattern. Missing even one branch is a compile error — which is exactly what stops you from overlooking a case you had not considered.
In professional work, enum plus match is a central combination that appears throughout Rust code, from state management to error handling.
๐งช This site can't compile or run Rust directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
