Associated Types
We'll cover the following...
I want to calculate how far my car will travel in 3 hours if it’s going at a certain speed. I live in a country that uses the metric system, so I’m going to define two helper structs, Kmh
(kilometers per hour) and Km
(kilometers).
Press + to interact
#[derive(Debug, Clone, Copy)]struct Kmh {value: u32}#[derive(Debug, Clone, Copy)]struct Km {value: u32}
Defining a struct with a single field like this is a great way to protect against programmer error. Now it’s impossible to accidentally compare Kmh
(a unit of speed) against Km
(a unit of distance). In any event, I can now write a method on Kmh
to tell me how far my car has ...