Rust 函数式编程入门
1. 函数式编程基础
函数式编程是一种编程范式,程序由声明式函数组成,不鼓励状态的突变(不过这取决于语言的严格程度,并非绝对禁止)。一些严格的函数式语言不允许改变状态,只能通过函数将一个值映射到另一个值来影响状态。同时,函数式语言也不鼓励副作用,即函数内可能产生不确定结果的操作,如 I/O 或修改局部状态。
Rust 虽不是严格的函数式语言,但它通过将可变性设为可选(使用 mut 关键字),并提供闭包和迭代器等核心函数式特性,来鼓励函数式编程模式。
1.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 操作,会引入副作用,所以这些闭包并非纯函数。
1.2 高阶函数
高阶函数是指可以接受其他函数作为参数的
订阅专栏 解锁全文
22

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



