Menu
Coddy logo textTech

'if let' 표현식

Coddy Rust 여정의 논리와 흐름 섹션에 포함된 레슨. 66개 중 4번째.

때로는 하나의 특정 패턴만 확인하면 되고 다른 모든 가능성에는 신경 쓰지 않아도 됩니다. 의미 있는 분기 하나와 모든 경우를 처리하는 _만 포함된 완전한 match 표현식을 작성하는 것은 장황하게 느껴질 수 있습니다. Rust는 이러한 상황에서 더 간결한 대안으로 if let을 제공합니다.

if let 표현식을 사용하면 패턴 매칭과 조건부 논리를 하나의 읽기 쉬운 문으로 결합할 수 있습니다. 기본 구문은 다음과 같습니다.

if let pattern = value {
    // 패턴이 일치할 경우 실행할 코드
}

예를 들어, 유용한 분기가 하나뿐인 match를 작성하는 대신:

let number = 5;

match number {
    5 => println!("Found five!"),
    _ => (), // 다른 값에 대해서는 아무것도 하지 않음
}

더 깔끔하게 만들기 위해 if let을 사용할 수 있습니다:

let number = 5;

if let 5 = number {
    println!("Found five!");
}

if let 표현식은 pattern이 matches할 때만 코드 블록을 실행합니다. matches하지 않으면 nothing도 발생하지 않으므로, 명시적인 "else" 경우는 원할 때가 아니라면 작성할 필요가 없습니다.

challenge icon

챌린지

쉬움

입력으로 숫자를 받습니다. 입력을 읽고 정수로 변환한 다음, 숫자가 정확히 42인지 확인하기 위해 if let 표현식을 사용합니다. 일치하면 "The answer!"를 출력합니다. 일치하지 않으면 아무것도 출력하지 않습니다.

요구 사항:

  • 숫자가 42와 같은지 확인하기 위해 if let 표현식을 사용합니다
  • 숫자가 42이면 "The answer!"를 출력합니다
  • 숫자가 다른 값이면 아무것도 출력하지 않습니다

입력: 하나의 정수

출력: 숫자가 42이면 "The answer!"를 출력하고, 그렇지 않으면 아무것도 출력하지 않습니다

직접 해보기

use std::io;

fn main() {
    // 입력 읽기
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let number: i32 = input.trim().parse().expect("Please enter a valid number");
    
    // TODO: 아래에 코드를 작성하세요
    // if let을 사용하여 number가 42와 같은지 확인하세요
    
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 Rust 컴파일러