Dzwebs.Net

撰写电脑技术杂文十余年

rust语言之自制Iterator Item的代码示例

Admin | 2024-12-26 15:53:21 | 被阅次数 | 74

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

    如题所示,代码如下,个人自制的仿标准库的代码。

struct Mycollections{
    data:Vec<i32>,
    index:usize,
}
impl Iterator for Mycollections{
    type Item = i32;
    fn next(&mut self) -> Option<Self::Item> {
        if self.index<self.data.len(){
            let result = self.data[self.index];
            self.index += 1;
            Some(result)
        }else{
            None
        }
    }
}
fn main(){
    //index为开始的索引号
    let myvec = Mycollections{data:vec![1,2,3,4,5,6,7,8,9],index:9};
    for x in myvec{
        println!("{}",x);
    }
    let r = Some(23);
    let dr=r.map(|x|x*2).unwrap_or(0);
    println!("dr的值为:{}",dr)
}

    //运行代码如下:

dr的值为:46


该杂文来自: 最新技术

上一篇:rust查找文件或路径之walkdir和glob的性能对比

下一篇:暂时没有文章了

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计