< 返回版块

2019-03-21 00:15    责任编辑:Mike

Rust 虽然定位于系统编程语言。听起来像是用来写底层代码的,比如操作系统,驱动,GUI,数据库,消息队列,命令行等等。实则不然。Rust 的抽象能力绝对不弱,比不上 Haskell, Ocaml, Lisp,吊打 Java, Ruby, Python 绰绰有余。虽然 Rust 的野心并不是“要用 Rust 写所有东西”,并且,“并不想成为 Haskell 那种纯函数式语言”,但是作为一个全栈语言,它的能力摆在那里,想要拿它写什么就全靠个人喜欢了。

下面罗列一些 Rust 的特性:

  • 类型系统
  • SumType 类型:enum 枚举
  • 泛型
  • 特征 Trait,以及基于 Trait 的继承
  • 迭代器(惰性)
  • 一套函数式惯用操作(map, fold, and_then...)
  • 模式匹配
  • 闭包作为一等公民
  • HashMap 等集合结构

这些特性,用好了,能够写出一手漂亮的函数式风格的代码。

Rust 是一门混合范式编程语言,不是说只能进行函数式编程,而且,纯函数式编程本身也不是 Rust 的风格。但是,函数式风格的爱好者,完全可以用 Rust 写出地道的函数式风格的代码来。这就是 Rust 提供的能力。