STUDY/Rust

Rust - 16. 반복자

sinawi95 2024. 3. 14. 21:24
728x90

클로저가 너무 길어져서 한번 끊었다.


1. 반복자 iterator

fn main() {
    let test_v = vec![1, 2, 3];

    let v_iter = test_v.iter();

    for val in v1_iter {
        println!("{}", val);
    }
}
  • c++ iterator랑 비슷한듯
  • iterator는 next 메서드 사용가능함
    • 소유권을 갖고 아이템을 소비함. -> mut 필요

 

2. 성능 비교

루프 vs 반복자

큰 차이 없다.

  • 고수준의 추상화이지만 컴파일 되면 직접 작성한 저수준의 코드와 같은 수준으로 내려간다.

 

 


https://doc.rust-kr.org/ch13-02-iterators.html