Rust中的迭代器

Posted aguncn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust中的迭代器相关的知识,希望对你有一定的参考价值。

和闭包一样,练代码

struct Counter 
    count: u32,


impl Counter 
    fn new() -> Counter 
        Counter count: 0 
    


impl Iterator for Counter 
    type Item = u32;

    fn next(&mut self) -> Option<Self::Item> 
        self.count += 1;

        if self.count < 6 
            Some(self.count)
         else 
            None
        
    


#[test]
fn using_other_iterator_trait_methods() 
    let sum: u32 = Counter::new().zip(Counter::new().skip(1))
                    .map(|(a, b)| a * b)
                    .filter(|x| x % 3 == 0)
                    .sum();
    assert_eq!(18, sum);

技术图片

以上是关于Rust中的迭代器的主要内容,如果未能解决你的问题,请参考以下文章

从 rust 中的通道迭代器获取第一个接收到的值

从Rust中的迭代器填充切片的最佳方法是什么? [重复]

Rust 从对的迭代器中收集哈希图

Rust性能分析-迭代器的enumerate方法是否会影响程序性能

Rust编程语言入门之函数式语言特性:-迭代器和闭包

Rust:如何在第一个 Err 或 None 上短路退出迭代器方法链?