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

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

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

更具体地说,我们将涵盖

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

我们已经介绍了一些其他受函数式风格影响的 Rust 特性,例如模式匹配和枚举。由于掌握闭包和迭代器是编写符合语言习惯、快速 Rust 代码的重要组成部分,我们将用整章来专门讨论它们。