Rust의 반복문
2023. 1. 8. 16:46ㆍLanguage/Rust
개요
Rust에서 사용 가능한 반복문에 대해 알아봅니다.
for 반복문
rust에서 for 반복문은 컴파일러의 메서드 호출로 확장됩니다. 아래와 같이 for 반복문은 세가지 표현식이 있습니다.
형태 | Detail | 접근 |
for item in collection | for item in IntoIterator::into_iter(collection) |
소유권 |
for item in $collection | for item in collection.iter() | 읽기 전용 |
for item in &mut collection | for item in collection.iter_mu() | 읽고 쓰기 |
익명 반복문
블록 내에서 지역 변수를 사용하지 않는 다면 관습적으로 밑줄(_)를 사용합니다.
for _ in 0..10 {
//...
}
인덱스 변수 관리를 피하는 법
대부분 언어에서 각 반복문이 끝날 때 증가하는 임시 변수를 사용하여 반복하는게 일반적입니다. 관례적으로 (i)를 사용합니다.
let collection = [1,2,3,4,5,6];
for i in 0..collection.len(){
let item = collection[i];
//...
}
Rust 문법에는 맞지만 권장하는 방법은 아닙니다. 아래와 같이 두가지 문제점을 일으킬 수 있습니다.
1. 성능 : collection[index] 구문을 사용해 값을 인덱실할 때 경계 확인으로 인한 런타임 비용 발생
2. 안전 : 계속해서 주기적으로 collection에 접근하면 다른 곳에서 collection을 변경했을 지도 모릅니다.
무한 반복
대부분 언어에서 무한 반복을 만들 때 아래와 같이 많이 만듭니다.
while(true){
// ...
}
하지만 rust에서는 loop라는 키워드를 제공합니다. 해당 키워드는 break 키워드나 종료 되기 전까지 무한 반복으로 수행 됩니다.
loop {
// ...
}
'Language > Rust' 카테고리의 다른 글
Rust Dangling Pointer (0) | 2023.02.25 |
---|---|
Rust의 배열 (0) | 2023.01.09 |
Rust의 제네릭(Generic) (0) | 2023.01.09 |
Rust의 숫자 (0) | 2023.01.08 |
Rust 실행 파일 만들기 (0) | 2023.01.08 |