下面我们来学习一下scala中最重要的内容,函数式编程,其实我们学习Scala这门语言就是因为它的这一个特性,咱们在最开始的时候给大家演示了,使用java代码实现函数式编程是很复杂的,而使用scala代码实现函数式编程就很轻松,很简单了。
这块内容我们在后续工作中会经常使用,需要大家重点掌握。
一、什么是函数式编程
Scala是一门既面向对象,又面向过程的语言。
因此在Scala中有非常好的面向对象的特性,可以使用Scala来基于面向对象的思想开发大型复杂的系统和工程;
而且Scala也面向过程,因此Scala中有函数的概念。
在Scala中,函数与类、对象一样,都是一等公民,所以说scala的面向过程其实就重在针对函数的编程了,所以称之为函数式编程。
二、函数赋值给变量
Scala中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量
Scala的语法规定,将函数赋值给变量时,必须在函数后面加上空格和下划线
来看一个案例:将函数赋值给变量:
scala> def sayHello(name: String) { println("Hello, " + name) }
sayHello: (name: String)Unit
scala> val sayHelloFunc = sayHello _
sayHelloFunc: String => Unit = <function1>
scala> sayHelloFunc("scala")
Hello, scala