函数式语言特性:迭代器与闭包
Rust 的设计借鉴了许多现有语言和技术,其中一个重要的影响是 函数式编程。以函数式风格进行编程通常包括将函数作为值使用,例如将它们作为参数传递、从其他函数返回、将它们赋值给变量以便稍后执行等等。
在本章中,我们不会争论函数式编程的定义或界限,而是会讨论 Rust 中一些类似于许多被认为是函数式语言所具有的特性。
具体来说,我们将涵盖以下内容:
- 闭包,一种可以存储在变量里的类似函数的构造
- 迭代器,一种处理序列元素的方式
- 如何使用闭包和迭代器来改进第 12 章中的 I/O 项目
- 闭包和迭代器的性能(剧透警告:它们可能比你想象的要快得多!)
我们已经介绍了 Rust 的一些其他特性,例如模式匹配和枚举,这些特性也受到了函数式风格的影响。因为掌握闭包和迭代器是编写符合 Rust 习惯且快速的代码的重要组成部分,我们将把本章全部篇幅用于讲解它们。