You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
# Rust 中的函数式语言功能 —— 迭代器和闭包
|
|
|
|
|
|
|
|
|
|
> [ch13-00-functional-features.md](https://github.com/rust-lang/book/blob/master/second-edition/src/ch13-00-functional-features.md)
|
|
|
|
|
> <br>
|
|
|
|
|
> commit d06a6a181fd61704cbf7feb55bc61d518c6469f9
|
|
|
|
|
|
|
|
|
|
Rust 的设计灵感来源于很多现存的语言和技术。其中一个显著的影响就是 **函数式编程**(*functional programming*)。函数式编程风格通常包含将函数作为参数值或其他函数的返回值、将函数赋值给变量以供之后执行等等。这里我们将不会辩论函数式编程到底是什么或不是什么,而是突出展示 Rust 中那些类似很多经常被认为是函数式的语言中功能的功能。
|
|
|
|
|
|
|
|
|
|
更具体的,我们将要涉及:
|
|
|
|
|
|
|
|
|
|
* **闭包**(*Closures*),一个可以储存在变量里的类似函数的结构
|
|
|
|
|
* **迭代器**(*Iterators*),一种处理元素序列的方式。。
|
|
|
|
|
* 如何使用这些功能来改进第十二章的 I/O 项目
|
|
|
|
|
* 这些功能的性能。**剧透高能:** 他们的速度超乎你的想象!
|
|
|
|
|
|
|
|
|
|
还有其他受函数式风格影响的 Rust 功能,比如模式匹配和枚举,这些已经在其他章节中讲到过了。掌握闭包和迭代器则是编写符合语言风格的高性能 Rust 代码的重要一环,所以我们将专门用一整章来讲解他们。
|