# 函数式编程

罗马不是一天建成的，编程语言亦是如此，每一门编程语言在借鉴前辈的同时，又提出了自己独有的特性，Rust即是如此。当站在巨人肩膀上时，一个人所能看到的就更高更远，恰好，我们看到了函数式语言的优秀特性，例如:
- 使用函数作为参数进行传递
- 使用函数作为函数返回值
- 将函数赋值给变量

见猎心喜，我们忍不住就借鉴了过来，于是你能看到本章的内容，天下语言一大。。。跑题了。

关于函数式编程到底是什么的争论由来已久，本章节并不会踏足这个泥潭，因此我们在这里主要关注的是函数式特性：
- 闭包closure
- 迭代器iterator
- 模式匹配
- 枚举

其中后两个在前面章节我们已经深入学习过，因此本章的重点就是闭包和迭代器，**这些函数式特性可以让代码的可读性和易写性大幅提升**。对于Rust语言来说，掌握这两者就相当于你同时拥有了倚天剑屠龙刀，威力无穷。




