컨트롤 플로우(if 조건문)



if 조건문


아래와 같이 사용.


if number < 5 {

println!("The number is less than 5.");

} else if number > 5 {

println!("The number is greater than 5.");

} else {

println!("The number is 5.");

}


if 조건식에는 반드시 불린 타입이 와야 함. (자바스크립트나 c 와는 다르다!)

아래 코드는 if 조건식에 불린 타입이 아닌, 인티저 타입이 왔기에 컴파일 에러 발생. (자바스크립트라면 값 1 은 true 를 의미하여 조건문은 참이 됨)


let number = 3;


if number {

println!("The number is 1");

}


아래와 같이 사용하는 것도 가능.


let condition = true;

let number = if condition {

5

} else {

6

};

중괄호는 익스프레션이기에 값 반환 가능. 위의 if 문은 값을 반환하여 number 변수를 초기화 함. 위 코드는 condition 이 true 이므로 조건문은 참이 되어 number 는 5 가 됨. (조건문 끝에 세미콜론이 있음에도 주목)


if 문을 위와 같이 사용할 경우, if 에서 반환하는 모든 값이 같은 타입이어야 함

아래 코드는 컴파일 에러 발생.


let condition = true;

let number = if condition {

5

} else {

"six"

};

위처럼 경우에 따라 변수의 타입이 인티저 혹은 스트링이 될 수 없음. 반드시 하나의 타입으로 통일되어야 함.





'Rust' 카테고리의 다른 글

오너십  (0) 2018.02.15
컨트롤 플로우(루프)  (0) 2018.02.15
함수의 동작  (0) 2018.02.15
데이터 타입  (0) 2018.02.14
변수  (0) 2018.02.14

+ Recent posts