Enum variants

하나의 enum 안에 서로 다른 데이터 모양을 담는다

각 배리언트는 같은 타입의 값이지만, 내부 데이터의 유무와 형태는 독립적으로 정할 수 있습니다.

unit

Quit

Quit

추가 데이터 없이 상태 자체만 표현합니다.

struct-like

Move

Move { x, y }

이름 있는 필드로 좌표처럼 의미 있는 값을 묶습니다.

tuple

Write

Write(String)

하나의 값을 위치 기반으로 간결하게 담습니다.

tuple

ChangeColor

ChangeColor(i32, i32, i32)

여러 값을 한 배리언트의 데이터로 함께 전달합니다.

핵심

여러 구조체로 흩어질 수 있는 개념을 하나의 enum 타입으로 묶으면, 함수 인수와 match 분기가 더 명확해집니다.