Rust 编程视频教程(进阶)——003_2 适配器

视频地址

头条地址:https://www.ixigua.com/i677586170644791348...
B站地址:https://www.bilibili.com/video/av81202308/

讲解内容

1、消费适配器
Iterator trait有一系列由标准库提供的默认实现的方法,有些方法调用了next方法,这些调用next方法的方法被称为消费适配器。

例子如下:

let v1 = vec![1, 2, 3];
let v1_iter = v1.iter();
let total: i32 = v1_iter.sum();//调用消费适配器sum来求和

2、迭代器适配器
Iterator trait中定义了一类方法,被称为迭代器适配器,即允许我们将当前迭代器变为不同类型的迭代器。
例子:

let v1: Vec<i32> = vec![1, 2, 3];
//v1.iter().map(|x| x + 1); //创建了一个新的迭代器,但是由于迭代器的惰性,什么也不会发生
let v2: Vec<_> = v1.iter().map(|x| x + 1).collect(); //必须要消费迭代器才会生效,v2 = vec![2, 3, 4]

例子:

fn main() {
    let v1: Vec<i32> = vec![1, 11, 5, 34, 2, 10];
    let v2: Vec<i32> = v1.into_iter().filter(|x| *x > 5).collect();
    println!("v2 = {:?}", v2);
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
令狐一冲
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
文章
255
粉丝
119
喜欢
308
收藏
128
排名:335
访问:2.8 万
私信
所有博文
社区赞助商