Iterator — 순회를 위한 트레이트
Iterator — 순회를 위한 트레이트
Iterator는 어떤 값의 시퀀스를 순회하기 위한 핵심 트레이트예요. next()를 구현하면 수많은 기본 메서드를 자동으로 얻을 수 있어요.
출처: Rust 공식 문서
본문
pub trait Iterator {
type Item;
// Required method
fn next(&mut self) -> Option<Self::Item>;
// ... 70+ provided methods
}
next()는 다음 요소를 Some으로, 끝에 도달하면 None을 반환해요. 이 하나만 구현하면 map, filter, fold, collect, sum, count, zip 등 수많은 어댑터·소비 메서드를 쓸 수 있어요. for 루프는 내부적으로 Iterator를 사용해요. 늦은(lazy) 평가라서 소비하기 전까지 실제 계산이 일어나지 않아요.