match

match가 모든 경우를 확인하는 방식

match는 값을 패턴과 비교해 갈래를 고르고, Rust는 가능한 경우가 빠지지 않았는지 컴파일 단계에서 검사합니다.

철저성 Option이나 enum을 match할 때 Some만 처리하고 None을 빼면 컴파일러가 누락된 경우를 알려 줍니다.

패턴 안에서 값을 이름에 묶으면 오른쪽 분기가 배리언트 내부 데이터를 참조합니다.

갈래

각 arm은 패턴과 실행식을 화살표로 연결합니다.

바인딩

Coin::Quarter(state)처럼 내부 값을 새 이름으로 받을 수 있습니다.

Option 처리

Some 값과 None을 분리해 부재 상태를 명시적으로 다룹니다.

포괄 패턴

other나 _로 남은 경우를 모으되 필요한 정보 보존 여부를 구분합니다.

match 작성 순서

패턴 바인딩
1
대상

어떤 enum 또는 값 범위를 나눌지 정합니다.

2
패턴

의미 있는 경우를 먼저 구체적인 패턴으로 적습니다.

3
마감

남은 경우를 other 또는 _로 처리할지 결정합니다.

match는 조건문보다 강하게 경우의 수를 문서화하고, 빠진 분기를 컴파일러가 함께 확인하게 합니다.