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());