ITERATOR

반복자는 next가 소비될 때까지 실제 작업을 미룬다

Iterator 트레이트는 Some(item)을 차례로 반환하고 끝나면 None을 반환하는 규칙이다.

iter()시퀀스를 순회할 반복자 값을 만든다.
next()내부 위치를 갱신하며 값을 하나 소비한다.
None더 이상 남은 아이템이 없음을 알린다.
iter불변 참조를 반환한다.
iter_mut가변 참조를 반환한다.
into_iter소유권을 가져와 값을 반환한다.

assert_eq!(v1_iter.next(), Some(&1));