trait_IntoIterator

trait_IntoIterator (반복자로의 변환 트레이트)

타입을 Iterator로 변환하는 방법을 정의하는 트레이트예요. 이 트레이트를 구현하면 Rust의 for 루프 문법에서도 그 타입을 쓸 수 있어요.

출처: Rust 공식 문서

본문

타입에 IntoIterator를 구현하면 그 타입이 어떻게 반복자로 변환되는지 정의하게 돼요. 이는 어떤 컬렉션을 나타내는 타입에서 흔히 볼 수 있어요.

IntoIterator를 구현하면 얻는 이점 중 하나는, 여러분의 타입이 Rust의 for 루프 문법과 함께 동작한다는 점이에요.

시그니처는 다음과 같아요.

pub trait IntoIterator {
    type Item;
    type IntoIter: Iterator<Item = Self::Item>;

    // 필수 메서드
    fn into_iter(self) -> Self::IntoIter;
}

예시

기본 사용법:

let v = [1, 2, 3];
let mut iter = v.into_iter();

assert_eq!(Some(1), iter.next());
assert_eq!(Some(2), iter.next());
assert_eq!(Some(3), iter.next());
assert_eq!(None, iter.next());

더 알아보기 (Learn more)

Rust 공식 문서