- 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
The Option type (null safety)
This lesson covers the Option type, which safely represents "there may or may not be a value here".
Rust has no concept of null. Instead you use Option<T>, writing Some(value) when there is a value and None when there is not.
In the sample code, a find_score function that searches an array returns Option<i32>, and match handles the found and not-found cases safely.
A common early stumble is trying to use the contents of an Option directly and hitting an error. You have to check for Some or None before taking the value out — which is how Rust turns null-related runtime errors into compile-time ones.
In professional work, Option appears in almost every operation where the data might not exist, making it one of Rust's central safety features.
๐งช 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).
