RUST · CONTROL FLOW
값이 되는 if 표현식
Rust의 if는 문장이 아니라 표현식이 될 수 있습니다. 그래서 분기 결과를 변수에 대입할 수 있지만, 모든 갈래의 타입이 같아야 합니다.
if 표현식 구조
value
condition
bool 조건을 평가합니다.
then block
참일 때 실행되고 마지막 표현식이 후보 값입니다.
else block
거짓일 때 실행되고 같은 타입의 값을 내야 합니다.
merge type
두 갈래의 결과 타입이 하나로 맞아야 합니다.
let binding
선택된 값이 변수에 바인딩됩니다.
조건
→
then
→
else
→
타입 일치
→
값 대입
주의점
type
괄호 없음
조건식 주변 괄호는 필요하지 않습니다.
bool만 허용
숫자 0/1을 조건처럼 사용할 수 없습니다.
세미콜론
블록 마지막에 세미콜론을 붙이면 값이 아니라 ()가 됩니다.
타입 일치
한쪽은 i32, 한쪽은 &str이면 대입할 수 없습니다.