Menu
Coddy logo textTech

Match 문

Coddy Rust 여정의 기초 섹션에 포함된 레슨. 75개 중 26번째.

match 표현식을 사용하면 값을 일련의 패턴과 비교하고 일치하는 패턴에 따라 코드를 실행할 수 있습니다.

다음은 match 표현식의 기본 구조입니다:

match variable {
	pattern1 => expression1,
	pattern2 => expression2,
	// ... 더 많은 패턴
	_ => default_expression,
}

match 키워드 뒤에는 테스트하려는 값이 옵니다.

match의 각 분기는 패턴, 그 뒤를 잇는 =>, 그리고 실행할 코드로 구성됩니다.

밑줄 _은 다른 패턴과 일치하지 않는 모든 항목과 일치하는 기본 case입니다.

예시를 살펴보겠습니다:

let day = 3;
let day_name = match day {
	1 => "Monday",
	2 => "Tuesday",
	3 => "Wednesday",
	// ... 더 많은 패턴,
	_ => "Invalid day",
};

arm에서 여러 줄의 코드를 사용하려면 블록을 사용하세요:

let day = 3;
let day_name = match day {
	1 => {
		println!("First day of the week!");
		"Monday"
	},
	2 => "Tuesday",
	// ... 다른 경우들
	_ => "Invalid day",
};

| 을 사용하여 여러 패턴을 일치시킬 수 있습니다:

let day = 3;
let day_type = match day {
	1 | 2 | 3 | 4 | 5 => "Weekday",
	6 | 7 => "Weekend",
	_ => "Invalid day",
};

Rust의 match 표현식은 모든 가능한 값을 포함해야 하므로 포괄적이어야 합니다. 컴파일러가 이를 확인해 줍니다.

challenge icon

챌린지

초급

월 번호(1은 January, 2는 February 등)를 입력받아 해당 월이 속한 계절을 출력하는 프로그램을 작성하세요. 논리에는 match 문을 사용하세요.

계절과 해당 월은 다음과 같습니다:

  • Winter: December (12), January (1), February (2)
  • Spring: March (3), April (4), May (5)
  • Summer: June (6), July (7), August (8)
  • Autumn: September (9), October (10), November (11)

직접 해보기

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let month: i32 = input.trim().parse().unwrap();
    // 아래에 코드를 작성하세요
    let season = 

    // 아래 줄은 변경하지 마세요
    println!("status = {}", season);
}
quiz icon실력 점검

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

기초의 모든 레슨

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