How to implement a method for an enum in Rust

In Rust, an enum can contain variants that allow different types or associated data with each variant. You can define functions that operate on these associated data by implementing methods for the enum. Note the enum + impl rater than the common struct + impl

Webdock

Fast Cloud VPS Linux Hosting

Example code:

In this example, the Shape enum represents three different geometric shapes: Square, Circle, and Triangle. The area() method implemented for the Shape enum calculates the area for each respective shape.

pub enum Shape {
    Square(f64),
    Circle(f64),
    Triangle { base: f64, height: f64 },
}

When area() is called on a Shape instance, it pattern-matches the enum variant and calculates the area based on the associated data of each variant. The main function demonstrates using this method to calculate the areas of a square, circle, and triangle.

This example shows how you can implement a method within an enum to perform different operations based on the variant and its associated data. The match statement within the method enables different behaviour for each variant of the enum.