if let

if let은 Option·Result의 관심 패턴만 꺼낸다

모든 경우를 다 다루는 match와 달리, if let은 Some(x)Ok(value)처럼 관심 있는 패턴 하나와 나머지를 간결하게 분리한다.

성공 케이스 하나만 강조할 때 match를 줄인다

패턴 흐름

match 사용

enum 변형을 모두 다뤄야 하거나 누락을 컴파일러가 잡아야 하면 match가 적합하다.

if let 사용

if let Some(user) = maybe_user처럼 특정 패턴 하나만 꺼내고 나머지는 명시적으로 무시한다.

else 결합

패턴이 맞지 않을 때 로깅, early return, 기본값 처리를 else에 둘 수 있다.

가독성 판단

분기가 하나뿐이라면 match의 _ => ()보다 if let이 의도를 더 빠르게 드러낸다.

valueSome / Okuseelse
분기 모델

if let은 match의 대체품이라기보다 관심사가 하나일 때 흐름을 줄이는 표현이다. None이나 Err를 의도적으로 무시해도 되는지 확인해야 한다.