# 函数式语言特性：迭代器与闭包

Rust 的设计受到许多现有的语言和技术的启发，而一个显著的影响便是 *函数式编程，functional programming*。以函数式风格编程通常包括作为值使用函数，通过在参数中传递他们、从其他函数返回他们，指派函数给变量供以后执行等等。

在这一章中，我们不会讨论 “函数式编程是什么” 或 “不是什么” 的问题，而是讨论 Rust 的一些特性，他们与许多通常被指为函数式的语言中的特性类似。

更具体地说，咱们将介绍：

- *闭包*，一种咱们可存储在变量中的结构;
- *迭代器*，一种处理一些列元素的方式；
- 怎样使用闭包和迭代器改进第 12 章中的 I/O 项目；
- 闭包和迭代器的性能问题（剧透警告：他们比咱们所设想的要快！）。

我们已经介绍了一些其他 Rust 特性，比如模式匹配与枚举等，他们也受到函数式风格的影响。因为掌握闭包和迭代器是编写快速、符合惯例的 Rust 代码的重要环节，因此我们将用这一整章来讨论他们。


