Structs & Enums
Defining structs and enums with named, tuple, and struct variants.
Structs
pub struct Point
{
i32 x;
i32 y;
}
pub struct Generic<T>
{
T value;
}Fields can be public or private:
struct User
{
pub str& name;
i32 age; // private
}Enums
pub enum Option<T>
{
Some(T);
None;
}
pub enum Message
{
Quit;
Move(i32, i32);
Write { str& content; i32 length; };
}Enum variants can be:
- Named —
Variant - Tuple —
Variant(T1, T2) - Struct —
Variant { T1 field1; T2 field2; }