값은 위에서 아래로 각 패턴과 비교되고, 처음 맞는 갈래가 실행됩니다.
MATCH 제어 흐름
match 분기 완전성
`match`는 값을 패턴과 순서대로 비교하고, 맞는 갈래의 표현식을 실행합니다. 컴파일러는 빠진 경우가 없는지도 함께 검사합니다.
match coin {
Coin::Penny => 1,
Coin::Nickel => 5,
Coin::Dime => 10,
Coin::Quarter(state) => value(state),
}
각 갈래의 마지막 표현식이 전체 match 표현식의 결과값이 됩니다.
열거형 배리언트 내부 값을 꺼내 이름으로 묶고, 갈래 안에서 바로 사용합니다.
처리하지 않은 배리언트가 있으면 컴파일 단계에서 알려주어 분기 누락을 줄입니다.
안전 기준
도메인 상태가 열거형으로 닫혀 있을수록 match는 “처리하지 않은
상태”를 컴파일러가 잡아주는 도구가 됩니다.
match 누락
와일드카드 `_`를 너무 일찍 쓰면 새 배리언트가 추가되어도
컴파일러가 누락을 알려주지 못할 수 있습니다.