Rust 函数式编程入门与实践
1. 函数式编程概述
函数式编程是一种编程范式,程序由声明式函数组成,不鼓励(但不一定禁止)状态的突变。一些语言是严格的函数式语言,不允许改变状态,只能通过函数将一个值映射到另一个值来影响状态。同时,函数式语言也不鼓励副作用,即函数内可能产生不确定结果的操作,如 I/O 或改变局部状态。
Rust 虽然不是严格的函数式语言,但它通过将可变性设置为可选(使用 mut 关键字),并提供闭包和迭代器等核心函数式特性,鼓励使用函数式模式。
2. Rust 中函数式编程基础
2.1 闭包基础
闭包是 Rust 函数式编程的核心特性之一。以下是一些简单的闭包示例:
// 简单闭包,模拟狗叫
let bark = || println!("Bark!");
bark();
// 带参数的闭包,实现自增
let increment = |value| value + 1;
increment(1);
// 使用代码块的闭包
let print_and_increment = |value| {
println!("{value} will be incremented and returned");
value + 1
};
print_and_increment(5);
需要注意的是,调用 println!() 会引入副作用,因为它是一个 I/O 操作,所以上述闭包不是纯函数。
超级会员免费看
订阅专栏 解锁全文
29

被折叠的 条评论
为什么被折叠?



