- 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
Structs
This lesson covers the struct, which groups several pieces of data together.
Writing struct Name { field: type, ... } lets you handle several values as a single type. Methods are defined inside an impl block.
The sample code defines struct Point { x: f64, y: f64 } and adds a method inside impl Point that calculates the distance between two points.
A common early stumble is that the struct definition and the method definitions (the impl block) are written separately. The shape of the data lives in struct and the behaviour lives in impl — a split that sets Rust apart from classes in C++ or Java.
In professional work, structs are the usual way to represent a bundle of data such as a coordinate, a settings object, or an API response.
๐งช 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).
