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

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

ch13-00-functional-features.md

Rust 的设计从许多现有的语言和技术中汲取灵感,其中一个重要影响就是函数式编程functional programming)。以函数式风格编程通常会把函数当作值来使用,比如将它们作为参数传递、作为其他函数的返回值返回、赋给变量以便稍后执行,等等。

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

更具体地,我们将要涉及:

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

我们已经介绍过 Rust 中另外一些受函数式风格影响的功能,比如模式匹配和枚举。因为掌握闭包和迭代器是编写快速、惯用 Rust 代码的重要组成部分,所以我们会专门用整整一章来讲解它们。