rust之迭代器

1. 迭代适配器

```

    let v1 = vec![1, 3, 4, 6];

    let v2:Vec<_> = v1.iter().map(|x| x + 1).collect();

    println!("{:?}", v2);//输出:[2, 4, 5, 7]

    let v1 = vec![1, 5, 12, 9, 10];

    let v2:Vec<_> = v1.into_iter().filter(|x| *x >= 10).collect();

    println!("{:?}", v2);//过滤:[12, 10]

```

2. 消费迭代器

```

    let v1 = vec![1, 4, 5];

    let total: i32 = v1.iter().sum();//求和

    println!("{}", total);//输出10

```

3. 迭代可变引用

```

let mut v1 = vec![1, 3, 5, 7];

if let Some(v) = v1.iter_mut().next() {

        *v = 3;

    }

    println!("{:?}", v1);//输出 [3, 3, 5, 7]

```

4. 迭代的遍历

```

let v1 = vec![1, 4, 5, 6];

for v in v1.iter() {

        println!("{}", v);

    }

```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容