Menu
CoddyTech

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은 1월, 2는 2월 등)를 입력받아 해당하는 계절을 출력하는 프로그램을 작성하세요. 로직에는 match 문을 사용하세요.

계절과 해당하는 월은 다음과 같습니다.

  • "Winter": 12월 (12), 1월 (1), 2월 (2)
  • "Spring": 3월 (3), 4월 (4), 5월 (5)
  • "Summer": 6월 (6), 7월 (7), 8월 (8)
  • "Autumn": 9월 (9), 10월 (10), 11월 (11)

이 정확한 영어 문자열을 season에 할당하여, 프로그램이 예를 들어 status = Spring을 출력하도록 하세요.

직접 해보기

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 컴파일러