函数式语言特性:迭代器和闭包

Rust 的设计受到了许多现有语言和技术的启发,其中一个重要的影响是 函数式编程。以函数式风格编程通常包括将函数用作值,通过传递它们作为参数、从其他函数返回它们、将它们分配给变量以供稍后执行等。

在本章中,我们不会讨论什么是函数式编程或不是函数式编程,而是将讨论 Rust 中的一些与许多常被称为函数式语言的特性相似的特性。

更具体地说,我们将涵盖:

  • 闭包,一种可以存储在变量中的类似函数的结构
  • 迭代器,一种处理一系列元素的方式。
  • 如何使用闭包和迭代器来改进第12章的I/O项目
  • 闭包和迭代器的性能(剧透警告:它们可能比你想象的要快!)

我们已经介绍了一些其他受函数式风格影响的Rust特性,如模式匹配和枚举。因为掌握闭包和迭代器是编写惯用、快速的Rust代码的重要部分,我们将整个这一章 devoted to them.