Rust 조건문과 반복문 | if, match, loop 완전 가이드
Rust 조건문과 반복문 완전 가이드 | if, match, loop 사용법
Rust는 안전하고 효율적인 시스템 프로그래밍 언어로, 조건문과 반복문 같은 제어 흐름 구문을 통해 다양한 로직을 구현할 수 있습니다. 이번 글에서는 Rust의 기본 조건문 if
, 패턴 매칭을 지원하는 match
, 그리고 반복문인 loop
, while
, for
를 자세히 살펴보겠습니다.
1. if 조건문 기본 사용법
Rust의 if
문은 조건에 따라 코드 블록을 실행할 때 사용합니다. 다른 언어와 유사하지만, Rust는 if
자체가 표현식(Expression)이므로 결과를 변수에 저장할 수도 있습니다.
fn main() {
let number = 7;
if number < 5 {
println!("5보다 작습니다.");
} else if number == 5 {
println!("5와 같습니다.");
} else {
println!("5보다 큽니다.");
}
// if를 표현식으로 사용하기
let result = if number % 2 == 0 { "짝수" } else { "홀수" };
println!("{}는 {}", number, result);
}
2. match 문법과 활용
Rust의 match
는 강력한 패턴 매칭 기능을 제공하며, 다양한 조건을 손쉽게 처리할 수 있습니다. switch
문과 비슷하지만 훨씬 더 유연합니다.
fn main() {
let number = 3;
match number {
1 => println!("하나"),
2 => println!("둘"),
3 | 4 => println!("셋 또는 넷"),
5..=10 => println!("5에서 10 사이"),
_ => println!("그 외 숫자"),
}
}
패턴 매칭은 열거형(enum)과 결합해 상태 머신, 옵션 처리 등에도 많이 활용됩니다.
3. 반복문 loop, while, for
Rust는 총 세 가지 기본 반복문을 지원합니다. 무한 반복인 loop
, 조건 반복인 while
, 그리고 컬렉션 순회에 최적화된 for
입니다.
loop - 무한 반복과 탈출
loop
는 무한히 반복하며, break
문으로 반복을 종료할 수 있습니다. loop
자체도 표현식이어서 값을 반환할 수도 있습니다.
fn main() {
let mut count = 0;
let result = loop {
count += 1;
if count == 5 {
break count * 2; // loop가 반환하는 값
}
};
println!("반복 종료, 결과: {}", result);
}
while - 조건이 참일 때 반복
조건이 참인 동안 반복하는 while
문입니다.
fn main() {
let mut n = 3;
while n > 0 {
println!("n = {}", n);
n -= 1;
}
println!("끝!");
}
for - 컬렉션 및 범위 반복
Rust의 for
문은 배열, 벡터, 문자열 슬라이스, 범위 등 이터러블(iterable) 타입을 순회할 때 사용합니다.
fn main() {
let arr = [10, 20, 30];
for val in arr.iter() {
println!("값: {}", val);
}
for i in 1..=5 {
println!("숫자: {}", i);
}
}
4. 조건문과 반복문의 결합
조건문과 반복문을 조합하면 더 복잡한 로직도 쉽게 구현할 수 있습니다. 예를 들어, 숫자를 받아 0이 될 때까지 반복하며 조건별로 다르게 처리하는 코드입니다.
fn countdown(mut n: i32) {
while n > 0 {
if n % 2 == 0 {
println!("짝수: {}", n);
} else {
println!("홀수: {}", n);
}
n -= 1;
}
println!("카운트다운 완료!");
}
fn main() {
countdown(5);
}
결론: Rust 조건문과 반복문은 간결하고 강력하다
Rust는 조건문과 반복문에서 간결한 문법과 강력한 표현식을 지원해, 안전하고 효율적인 제어 흐름 구현이 가능합니다. if
와 match
는 조건에 따라 다른 행동을 구현하고, loop
, while
, for
반복문은 다양한 상황에 맞게 반복 로직을 작성할 수 있게 도와줍니다.
Rust의 패턴 매칭과 표현식 활용법을 익히면, 복잡한 조건과 반복도 깔끔하게 해결할 수 있습니다. 앞으로 더 심화된 제어 흐름과 고급 기능도 함께 배워보세요!