Pattern Syntax
패턴 문법 선택 점검 기준
패턴 문법은 값 비교, 구조 분해, 범위, 무시, 가드까지 제공하므로 읽는 사람이 무엇을 검사하는지 바로 보이게 골라야 합니다.
검사인가, 추출인가, 둘 다인가
먼저 목적을 고르면 문법 선택이 좁혀집니다.
start
값을 어떻게 확인할까?
비교, 분해, 무시, 추가 조건 중 주목적을 먼저 고릅니다.
정확한 값인가?
하나의 값 또는 범위와 비교합니다.
literal / range
1, "ok", 'a'..='z'
안쪽 값을 꺼내나?
튜플, 구조체, enum의 일부를 바인딩합니다.
destructure
Point { x, y }, Some(v)
나머지는 버리나?
관심 없는 필드를 명확히 제외합니다.
_ / ..
(first, ..), Config { port, .. }
검사와 이름이 모두 필요한가?
전체 값도 보존하고 내부 값도 꺼냅니다.
@ binding
id @ 3..=7
패턴만으로 부족한가?
값 사이 관계나 추가 조건을 붙입니다.
match guard
Some(x) if x > limit
값 비교
리터럴과 범위는 “맞는지”를 먼저 보여줍니다.
데이터 추출
구조 분해와 @는 필요한 이름을 동시에 만듭니다.
조건 보강
guard는 패턴 뒤에 의미 조건을 덧붙입니다.