Rust methods: Difference between revisions

From wikinotes
Line 5: Line 5:
}}
}}


= Structs =
= Basics =
<blockquote>
<blockquote>
Rust lets you add methods to structs using <code>impl</code>.
Rust lets you add methods to structs using <code>impl</code>.

Revision as of 19:52, 7 February 2023

Rust lets you add methods to structs.

TODO:

other types? what's the full spectrum here?

Basics

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.