Rust

Pattern Matching

match 표현식, if let, while let, destructuring, guards, @ bindings, 완전성(exhaustiveness)

18 면접 질문·
Mid-Level
1

Rust에서 기본적인 match 표현식의 올바른 구문은 무엇입니까?

답변

Rust의 match 표현식은 match 키워드 뒤에 분석할 값을 쓰고, 그다음 중괄호 안에 쉼표로 구분된 여러 암(pattern)을 넣습니다. 각 암은 pattern 뒤에 =>와 실행할 코드를 둡니다. 이 구문 덕분에 컴파일러는 가능한 모든 경우가 처리되었는지 검증할 수 있습니다.

2

match에서 남은 모든 값을 캡처하려면 어떤 pattern을 사용해야 하나요?

답변

_ (underscore) pattern은 Rust의 catch-all pattern입니다. 값을 변수에 바인딩하지 않고 모든 값과 매칭됩니다. 또는 변수 이름(예: other 또는 n)을 사용하면 값을 캡처할 수 있습니다. 값을 사용하지 않을 때는 의도가 명확하게 드러나기 때문에 _ 가 선호됩니다.

3

if let은 match와 비교하여 어떻게 동작하나요?

답변

if let은 하나의 pattern만 처리하고 나머지는 무시하는 match의 단축 구문입니다. _ catch-all arm을 포함한 전체 match를 작성하는 대신, 특정 경우만 중요할 때 if let을 사용하면 값을 간결하게 추출할 수 있습니다. Option과 Result와 함께 사용할 때 특히 유용합니다.

4

Rust pattern matching의 맥락에서 exhaustiveness란 무엇인가요?

5

pattern match에서 tuple을 어떻게 구조 분해하나요?

+15 면접 질문

다음 면접을 위해 Rust을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기