러스트의 제어문
if
표현식
- js 와 다르게 괄호 없이 바로 조건이 온다.
- 오직
bool
타입만if
의 조건으로 올 수 있다.
fn main() {
let number = 3;
if number < 5 {
println!("condition was true");
} else {
println!("condition was false");
}
}
else if
표현식
- 가장 첫번째로 매칭된 조건이 수행된다.
fn main() {
let number = 6;
if number % 4 == 0 {
println!("number is divisible by 4");
} else if number % 3 == 0 {
println!("number is divisible by 3");
} else if number % 2 == 0 {
println!("number is divisible by 2");
} else {
println!("number is not divisible by 4, 3, or 2");
}
}
let
변수 값 할당에 if
표현식 사용하기
fn main() {
let condition = true;
let number = if condition {
5
} else {
6
};
println!("The value of number is: {}", number);
}
주의사항, 반환 값의 타입은 항상 같아야 한다.
fn main() {
let condition = true;
let number = if condition {
5
} else {
"six"
};
println!("The value of number is: {}", number);
}
위의 코드는 타입이 같지 않기 때문에 아래와 같은 에러가 발생한다.
error[E0308]: if and else have incompatible types
--> src/main.rs:4:18
|
4 | let number = if condition {
| __________________^
5 | | 5
6 | | } else {
7 | | "six"
8 | | };
| |_____^ expected integral variable, found reference
|
= note: expected type `{integer}`
found type `&str`
반응형
'러스트 (Rust)' 카테고리의 다른 글
러스트 (Rust) 의 소유권 (ownership) 개념 (0) | 2022.11.02 |
---|---|
러스트 (Rust) 의 반복문 정리 (0) | 2022.11.01 |
러스트 (Rust) 함수 사용법 핵심 정리 (0) | 2022.11.01 |
러스트 (Rust) 의 데이터 타입 종류 (Data types) (0) | 2022.11.01 |
러스트의 섀도잉(Shadowing) 혹은 쉐도우(Shadow) 란? (1) | 2022.11.01 |