Rust methods: Difference between revisions
From wikinotes
Line 21: | Line 21: | ||
self.g += 8; | self.g += 8; | ||
self.b += 8; | self.b += 8; | ||
} | |||
fn darken(&self) { | |||
self.r -= 8; | |||
self.b -= 8; | |||
self.g -= 8; | |||
} | } | ||
} | } |
Revision as of 19:51, 7 February 2023
Rust lets you add methods to structs.
TODO:
other types? what's the full spectrum here?
Structs
Rust lets you add methods to structs using
impl
.type RgbColor{ r: u8, g: u8, b: u8, } impl RgbColor { fn brighten(&self) { self.r += 8; self.g += 8; self.b += 8; } fn darken(&self) { self.r -= 8; self.b -= 8; self.g -= 8; } } let c = RgbColor{r: 8, g: 8, b: 8}; c.brighen(); // {r: 16, g: 16, b: 16}Similar to go, you can use the
.
operator to access methods on either a reference or an instance.
rust will automatically dereference it for you.