반복문과 조건문
조건문과 반복문은 프로그램의 흐름을 제어하는 데 사용되는 기본적인 구조입니다.
Rust에서는 if, while, for 문을 사용하여 조건문과 반복문을 작성할 수 있습니다.
if 문은 주어진 조건이 참인 경우에만 코드 블록을 실행합니다.
if 조건 {
// 조건이 참일 때 실행할 코드
}
while 문은 주어진 조건이 참인 동안 코드 블록을 계속 반복해서 실행합니다.
while 조건 {
// 조건이 참인 동안 반복할 코드
}
for 문은 반복 가능한 객체(예: 범위, 벡터 등)를 순회하며 코드 블록을 실행합니다.
// Range를 사용한 for 문
for 변수 in 시작..끝_미포함 { // range(시작, 끝)
// 코드 블록
}
for 변수 in 시작..=끝_포함 { // range(시작, 끝 + 1)
// 코드 블록
}
// Loop 키워드를 사용한 무한 반복
loop {
// 무한 반복할 코드
// 'break'를 사용해 반복을 종료할 수 있음
}
Rust에서 while, for, loop 문에서 이름을 지정하고 break할 수 있습니다.
레이블은 이름:
형식으로 작성하며, break할 때 break 이름;
을 사용합니다.
이렇게 하면 중첩된 반복문에서 특정 반복문을 종료할 수 있습니다.
// 2 이상의 소수를 찾아 출력하는 프로그램
fn main() {
let mut number = 2;
'search: loop {
let mut is_prime = true;
'check_prime: for i in 2..number {
if number % i == 0 {
is_prime = false;
break 'check_prime;
}
}
if is_prime {
println!("소수 발견: {}", number);
}
number += 1;
if number > 20 {
break 'search;
}
}
}
위 예제 동작 순서
number
변수를 2로 초기화합니다.search
라는 이름의 loop 문에서 소수를 찾기 시작합니다.check_prime
이라는 이름의 for 문에서 2부터 number - 1
까지 나누어 떨어지는지 확인합니다.is_prime
변수를 false로 설정하고 check_prime
레이블을 사용하여 for 문을 빠져나옵니다.is_prime
이 true인 경우, 소수를 발견했으므로 해당 숫자를 출력합니다.number
를 1 증가시키고, number
가 20보다 크면 search
레이블을 사용하여 loop 문을 빠져나옵니다.