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