Rust

Rust if 표현식 - 흐름 제어문[1]

초코민트냠냠 2022. 10. 18. 10:40
반응형

if 표현식

Rust도 다른 언어들과 마찬가지로 if를 사용하여 조건에 따라 코드를 실행시킬 수 있습니다.

 

fn main() {
    let number = 3;

    if number < 5 {
        println!("5 미만입니다.");
    } else {
        println!("5 이상입니다.");
    }
}

if의 조건식은 반드시 bool 이어야 합니다. 다른 언어들은 정수값을 넣거나 객체를 넣어도 동작을 하지만 Rust는 동작을 하지 않습니다.

 

fn main() {
    let number = 3;

    if number { // 에러! expected `bool`, found integer.
        println!("number는 3입니다.");
    }
}

 

 

else와 else if

else와 else if를 사용해 여러 조건을 처리할 수 있습니다.

 

fn main() {
    let number = 6;

    if number % 4 == 0 {
        println!("4로 나누어 떨어집니다.");
    } else if number % 3 == 0 {
        println!("3으로 너누어 떨어집니다.");
    } else if number % 2 == 0 {
        println!("2로 나누어 떨어집니다.");
    } else {
        println!("4, 3, 2로 나누어 떨어지지 않습니다.");
    }
}

 

let 구문에서 if 사용하기

저번에 함수 설명에서 말했듯이 Rust의 표현식은 값을 반환합니다.

if는 표현식이기 때문에 변수 선언할 때 사용할 수 있습니다.

https://supern0va.tistory.com/m/15

 

Rust 함수 작성법

함수 러스트에서 함수를 선언할 때는 fn 키워드를 사용합니다. 러스트는 변수명이나 함수명을 snake case로 작성합니다. fn main() { println!("Hello, world!"); another_function(); } fn another_function() { println!("Anoth

supern0va.tistory.com

 

따라서 다음과 같이 작성할 수 있습니다.

 

fn main() {
    let condition = true;
    let number = if condition { 5 } else { 6 };

    println!("number 는: {}", number);
}

 

하지만 여기서 조건에 따라 리턴값의 데이터 타입이 다르면 동작하지 않습니다.

 

fn main() {
    let condition = true;

    let number = if condition { 5 } else { "six" }; // 에러!

    println!("number 는: {}", number);
}

 

 

변수는 한 가지 타입으로 정해져 있습니다. 따라서 같은 타입의 값을 리턴하도록 작성해야 합니다.

반응형