Rust 기본 : 제어 흐름 Control Flow. (if else, loop, while, for)
if ~ else if ~ else
if 문은 조건을 평가하여 true 일 때만 코드 블록을 실행합니다.
else if 문을 사용하여 여러 조건을 체크할 수 있습니다.
else 브랜치는 모든 조건 체크가 실패했을 때 실행하는 코드 블록을 지정합니다.
let a = 5;
if a > 5 {
println!("a는 5 보다 크다.");
} else if a > 3 {
println!("a는 3 보다 크다.");
} else { // a <= 3
println!("a는 3 보다 작거나 같다.");
}
let b = if a > 5 { 1 } else { -1 };
loop
조건 없이 무한 반복하는 루프를 생성합니다.
break : 루프 탈출.
continue : 다음 반복으로 넘어감.
break value : 값 리턴.
break 'label : 레이블이 붙은 전체 루프를 탈출.
// 루프 탈출.
loop {
println!("loop forever");
break;
}
// 레이블 루프 전체 탈출.
'outer: loop {
println!("loop forever");
loop {
break 'outer;
}
}
// 루프 결과 리턴.
let x = loop {
break 5;
};
println!("loop returned: {x}");
// 다음 반복으로 넘어감.
let mut count = 0;
loop {
if count == 5 {
continue;
}
count += 1;
if count == 10 {
break;
}
}
while
조건이 참인 동안 루프 실행합니다.
let mut a = 0;
while a < 5 {
println!("a is {a}");
a = a + 1;
}
for ~ in
컬렉션의 각 요소에 대해 반복 실행할 때 사용합니다.
let a = [1, 2, 3, 4, 5];
for element in a {
println!("{}", element);
}
CODE
fn main() {
// if/else
let a = 5;
if a > 5 {
println!("bigger than 5");
} else if a > 3 {
println!("bigger than 3");
} else {
println!("smaller or equal to 3");
}
let b = if a > 5 { 1 } else { -1 };
/* -------------------------------------------------------------------------- */
// loop : 루프 탈출
loop {
println!("loop forever");
break;
}
// break label : 레이블 루프 전체 탈출.
'outer: loop {
println!("loop forever");
loop {
break 'outer;
}
}
// break returnValue 루프 결과 리턴.
let x = loop {
break 5;
};
println!("loop returned: {x}");
// loop continue 다음 반복으로 넘어감.
let mut count = 0;
loop {
if count == 5 {
continue;
}
count += 1;
if count == 10 {
break;
}
}
println!("loop continue: {count}");
/* -------------------------------------------------------------------------- */
// while
let mut a = 0;
while a < 5 {
println!("while a is {a}");
a = a + 1;
}
/* -------------------------------------------------------------------------- */
// for ~ in
let a = [1, 2, 3, 4, 5];
for element in a {
println!("for element is {}", element);
}
}
RUN
bigger than 3
loop break
loop break label
loop returned: 5
loop continue: 10
while a is 0
while a is 1
while a is 2
while a is 3
while a is 4
for element is 1
for element is 2
for element is 3
for element is 4
for element is 5
'개발 > 러스트 (Rust)' 카테고리의 다른 글
Rust 기본, 참조 (Borrow) (0) | 2024.07.09 |
---|---|
Rust 기본, 소유권 (Ownership) (0) | 2024.07.06 |
Rust 기본, OBRM vs RAII (0) | 2024.07.06 |
Rust 기본, 주석 Comment. (0) | 2024.07.06 |
Rust 기본, 함수 (Functions) (0) | 2024.07.06 |
Rust 기본, 상수와 정적 변수 (Constants, Statics) 비교. (0) | 2024.07.06 |
Rust 기본, 데이타 타입 (Scalar, Compound, Unit) (0) | 2024.05.27 |
주요 RUST 학습 자료. (0) | 2024.05.23 |