8.2 在Kotlin中使用函数式编程

好了亲,前文中我们在函数式编程的世界里遨游了一番,现在我们把思绪收回来,放到在Kotlin中的函数式编程中来。

严格的面向对象的观点,使得很多问题的解决方案变得较为笨拙。为了将一行有用的代码包装到Runnable或者Callable 这两个Java中最流行的函数式示例中,我们不得不去写五六行模板范例代码。为了让事情简单化(在Java 8中,增加Lambda表达式的支持),我们在Kotlin中使用普通的函数来替代函数式接口。事实上,函数式编程中的函数,比C语言中的函数或者Java中的方法都要强大的多。

在Kotlin中,支持函数作为一等公民。它支持高阶函数、Lambda表达式等。我们不仅可以把函数当做普通变量一样传递、返回,还可以把它分配给变量、放进数据结构或者进行一般性的操作。它们可以是未经命名的,也就是匿名函数。我们也可以直接把一段代码丢到 {}中,这就是闭包。

在前面的章节中,其实我们已经涉及到一些关于函数的地方,我们将在这里系统地学习一下Kotlin的函数式编程。