rust函数式编程示范
时间: 2023-10-10 17:15:39 浏览: 103
《Rust 实战函数式编程(第 1 版)》
函数式编程是一种编程范式,其中函数被视为一等公民,可以接受其他函数作为参数或返回函数。Rust语言也支持函数式编程风格,下面是一个简单的示范:
```rust
fn main() {
let numbers = vec![1, 2, 3, 4, 5];
// 使用map函数将每个元素平方
let squared_numbers: Vec<_> = numbers.iter().map(|&x| x * x).collect();
println!("{:?}", squared_numbers); // 输出: [1, 4, 9, 16, 25]
// 使用filter函数过滤出偶数
let even_numbers: Vec<_> = numbers.iter().filter(|&x| x % 2 == 0).collect();
println!("{:?}", even_numbers); // 输出: [2, 4]
// 使用fold函数求和
let sum: i32 = numbers.iter().fold(0, |acc, &x| acc + x);
println!("{}", sum); // 输出: 15
}
```
在上面的示例中,我们使用了`map`、`filter`和`fold`等函数来进行函数式操作:`map`函数将每个元素平方,`filter`函数过滤出偶数,`fold`函数计算总和。
阅读全文