Files
mist-website/content/docs/guide/structs-enums.mdx
T

53 lines
634 B
Plaintext

---
title: Structs & Enums
description: Defining structs and enums with named, tuple, and struct variants.
icon: Box
---
### Structs
```mist
pub struct Point
{
i32 x,
i32 y,
}
pub struct Generic<T>
{
T value,
}
```
Fields can be public or private:
```mist
struct User
{
pub str& name,
i32 age, // private
}
```
### Enums
```mist
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 }`