【Rust】map

map是什么

Rust中的map是指map方法,并不是C++中map数据结构,c++中的map在Rust中等价为的集合类型HashMap。

map的使用

不少的对象都有实现map方法,基本含义相同:map方法接受一个闭包,并创建一个新的迭代器,在新迭代器的每个元素上调用该闭包。

例如:
std::iter::Iterator.map

fn main() {
    let a = [1, 2, 3];
    let mut iter = a.iter().map(|x| 2 * x);
    println!("{:?}", iter.next());
    println!("{:?}", iter.next());
    println!("{:?}", iter.next());
}

输出

Some(2)
Some(4)
Some(6)

使用for实现map功能

fn main() {
    let a = [1, 2, 3];
    for x in a {
        println!("{}", 2*x);
    }
}

输出

2
4
6

map和for的区别

map和for可以实现相同的功能,但是map返回的迭代器,在执行上惰性的。必须调用next()才能执行。

Rust有借鉴Haskell,Haskell就是惰性求值的函数式编程语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值