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 协议》,转载必须注明作者和本文链接