13.1 闭包
讲解闭包语法、捕获环境与 Fn、FnMut、FnOnce 特征
1分钟内可阅读完
译文 · 基于 The Rust Programming Language(rustc 1.97.1)
原文链接: https://doc.rust-lang.org/stable/book/ch13-00-functional-features.html
Rust 的设计从许多既有语言与技术中汲取灵感,其中一个重要影响来自函数式编程(functional programming)。函数式风格常常把函数当作值来用:作为参数传入、从其他函数返回、赋给变量以便稍后执行,等等。
本章不会争论“什么算或不算函数式编程”,而是讨论 Rust 中与许多常被称为函数式语言的特性相似的部分。
更具体地说,我们将涵盖:
我们此前已经讲过一些同样受函数式风格影响的 Rust 特性,例如模式匹配和枚举。掌握闭包和迭代器是写出快速、地道的 Rust 代码的重要一环,因此整章都会围绕它们展开。
讲解闭包语法、捕获环境与 Fn、FnMut、FnOnce 特征
讲解 Iterator 特征、消费适配器与迭代器适配器
用迭代器去掉 clone 并简化 search 实现
对比 for 循环与迭代器实现的性能,说明零成本抽象