초급 문법 : 9. 패턴 매칭 (match) – 여러 가지 경우를 처리하는 match 표현식
🧠 1단계: match란 무엇인가요?
match는 어떤 값이 여러 경우 중 어떤 것과 일치하는지 확인하고, 그에 따라 다른 행동을 하게 해주는 문법입니다.
쉽게 말해, 여러 가지 선택지를 비교해서 어떤 경우인지 알아보고 처리하는 도구입니다.
📦 비슷한 개념: 우리가 아는 "if-else", 또는 일상에서 "오늘 날씨가 맑으면 산책하고, 비 오면 우산 챙기기" 같은 선택이에요.
🧪 2단계: 간단한 예제 코드
이제 실제로 코드를 작성하고 실행해 봅시다.
(1) VS Code에서 Rust 파일 생성
1️⃣ 터미널 열기
- VS Code를 실행하고, Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.
- 또는 메뉴에서 [터미널] → [새 터미널] 선택하세요.
2️⃣ 새 Rust 프로젝트 생성
- 새로운 Rust 프로젝트를 만들 폴더로 이동 (예: C:\RustProjects)
cd C:\RustProjects
- 터미널에 아래 명령을 입력하고 Enter 키를 누릅니다.
- rust_match이라는 폴더가 생성됩니다.
cargo new rust_match
3️⃣ 프로젝트 열기
- VS Code에서 [파일] → [폴더 열기] 선택 후 rust_match 폴더를 엽니다.
4️⃣ 메인 파일 열기
- 왼쪽 src 폴더에서 main.rs 파일을 클릭하여 엽니다.
✅ 예제: 숫자에 따라 다른 메시지를 출력하는 match
fn main() {
let number = 3;
match number {
1 => println!("숫자는 1입니다."),
2 => println!("숫자는 2입니다."),
3 => println!("숫자는 3입니다."),
_ => println!("1, 2, 3이 아닌 다른 숫자입니다."),
}
}
🧾 3단계: 코드 설명
🔹 let number = 3;
- number라는 변수에 숫자 3을 넣었습니다.
🔹 match number { ... }
- number의 값이 어떤 값과 일치하는지 확인합니다.
🔹 1 => println!("숫자는 1입니다."),
- 만약 number가 1이면, 이 줄이 실행됩니다.
🔹 2 => println!("숫자는 2입니다."),
- number가 2면, 이 줄이 실행됩니다.
🔹 3 => println!("숫자는 3입니다."),
- number가 3이면, 이 줄이 실행됩니다.
- 이 예제에서는 이 줄이 실행돼요!
🔹 _ => println!("1, 2, 3이 아닌 다른 숫자입니다."),
- _는 "그 외 모든 경우"를 뜻합니다.
- number가 1, 2, 3이 아니면 이 줄이 실행됩니다.
▶️ 4단계: 실행해보기
Ctrl + S를 눌러 파일을 저장합니다. (메뉴 -> 파일 -> 저장)
VS Code 터미널에 아래 명령어를 입력해 실행하세요.
cargo run
💡 결과는 이렇게 나올 거예요:
숫자는 3입니다.
🔁 5단계: 직접 바꿔보기
let number = 5; 처럼 숫자를 바꿔보세요.
그러면 어떤 결과가 나오는지 확인하면서 match 문법을 자연스럽게 익힐 수 있어요.
🧩 추가 예제: 요일 처리하기
fn main() {
let day = "월요일";
match day {
"월요일" => println!("한 주의 시작입니다!"),
"금요일" => println!("불금이에요!"),
"토요일" | "일요일" => println!("주말이에요!"),
_ => println!("평일입니다."),
}
}
"토요일" | "일요일" 처럼 두 가지 경우를 하나로 묶을 수도 있어요!
📝 요약
개념 | 설명 |
match 값 {} | 값이 어떤 경우에 해당하는지 검사 |
값 => 코드 | 해당 값일 때 실행할 코드 |
_ => 코드 | 그 외 모든 경우 (default 역할) |
이상으로 패턴 매칭(match)에 대해 알아보았습니다.
[ Rust ] 러스트 프로그래밍 언어 관련 글 목록입니다.
러스트 컴퓨터 프로그래밍 언어를 아이들에게 알려주기 위해 글을 작성하고 있습니다.가능한 쉽고 자세하게 그리고 잘 따라할 수 있도록 작성해 보려고 합니다.글이 작성되는 대로 계속 추가하
hb-love-each-other.tistory.com
한국 러스트 사용자 그룹
rust-kr.org
Rust Programming Language
A language empowering everyone to build reliable and efficient software.
www.rust-lang.org
'컴퓨터에서는' 카테고리의 다른 글
[ Rust ] 초급 문법 : 11. 배열과 슬라이스 – 배열과 슬라이스 데이터 다루기 (0) | 2025.04.28 |
---|---|
[ Rust ] 초급 문법 : 10. 사용자 입력과 출력 (println!, std::io) – 화면에 출력하고 입력 받기 (0) | 2025.04.25 |
[ Django ] 파이썬의 MySQL 드라이버 비교 (0) | 2025.04.18 |
[ Django ] mysqlclient 설치 오류 (0) | 2025.04.18 |
[ Django ] 장고에서 MySQL 연결을 위해 적합한 드라이버 목록입니다. (0) | 2025.04.18 |
댓글