Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

函数式语言特性:迭代器(Iterator)与闭包(Closure)

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

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

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

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

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