wiki/dev/lang/rust/enum.md
2024-01-09 13:18:39 +03:00

432 B

Emun.

Create.

enum Message {
  Quit,
  Echo(String),
  Move { x: i32, y: i32 },
  ChangeColor(i32, i32, i32)
}

impl Message {
  fn call(&self) {
    println!("{:?}", self);
  }
}

fn main() {
  let messages = [
    Message::Move { x: 10, y: 30 },
    Message::Echo(String::from("hello world")),
    Message::ChangeColor(128, 16, 32),
    Message::Quit
  ];

  for message in &messages {
    message.call();
  }
}