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

视频地址

头条地址:https://www.ixigua.com/i6775861706447913485
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);
}
发布了106 篇原创文章 · 获赞 10 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览