조건문
- 일반적인 if 조건문은 다른 언어와 비슷하게 사용할 수 있다.
match
- match라는 흐름 제어 연산자를 사용할 수 있다. (Kotlin의 when, Java 또는 C의 switch와 같은 역할이다.)
if let
- if와 let을 조합하여 하나의 패턴만 매칭 시키는 구문을 작성할 수 있다.
패턴 매칭
- 구조체에 대한 match 조건을 아래와 같이 작성할 수 있다.
- 조건문에서 새로운 변수명을 사용하여 값을 캡처할 수 있다.
- 배열이나 튜플, 슬라이스도 그 요소들에 대해 패턴 매칭으로 분해할 수 있다.
..
는 요소 개수에 상관없이 매치될 수 있다.[.., b]
나[a@.., b]
와 같은 패턴으로 꼬리 부분을 매칭할 수 있다.
- 패턴 뒤에 추가 불리언 표현식인 가드(guard, 조건식)를 덧붙일 수 있다.
- 패턴에 정의된 변수를 가드의 표현식에서 사용할 수 있다.
반복문
- for, while, loop 등의 반복문을 제공한다.
while let
- while와 let을 조합하여 패턴을 매칭 시키는 구문을 작성할 수 있다.
참고
- https://rinthel.github.io/rust-lang-book-ko/ch06-03-if-let.html
- https://google.github.io/comprehensive-rust/ko/control-flow/if-let-expressions.html
- https://google.github.io/comprehensive-rust/ko/control-flow/novel.html
- https://google.github.io/comprehensive-rust/ko/pattern-matching/destructuring-enums.html