函数式语言特性:迭代器和闭包
Rust 的设计灵感来自许多现有的语言和技术,其中一个重要影响是*函数式编程*。函数式编程风格通常包括将函数作为值使用,例如将函数作为参数传递、从其他函数返回函数、将函数赋值给变量以供稍后执行等等。
在本章中,我们不会讨论什么是或不是函数式编程,而是讨论 Rust 中一些类似于许多被称为函数式语言的特性。
更具体地说,我们将涵盖:
- *闭包*,一种可以存储在变量中的类似函数的结构
- *迭代器*,一种处理一系列元素的方式
- 如何使用闭包和迭代器改进第 12 章中的 I/O 项目
- 闭包和迭代器的性能(剧透:它们比你想象的要快!)
我们已经介绍了 Rust 的其他一些特性,例如模式匹配和枚举,这些特性也受到了函数式风格的影响。因为掌握闭包和迭代器是编写符合习惯用法、高效的 Rust 代码的重要组成部分,所以我们将用整章来介绍它们。