一、什么是函数式编程

函数式编程是一种编程范式,它将计算机程序视为一组函数的调用,而不是指令的执行。函数式编程的一个主要特征是,它把函数当作一等公民,可以作为参数,也可以作为返回值。

二、Scala的函数式编程

Scala是一门多范式的编程语言,它支持面向对象编程和函数式编程。Scala的函数式编程有以下几个特点:

1、Scala支持高阶函数,可以将函数作为参数传递给另一个函数,也可以将函数作为返回值返回。

2、Scala支持函数式编程的概念,如模式匹配、闭包、延迟计算等。

3、Scala支持函数式编程的语法,如模式匹配、for表达式、偏函数等。

4、Scala支持函数式编程的库,如支持函数式编程的集合库、流库等。

三、Scala函数式编程实例

下面是一个Scala函数式编程的简单实例:

def add(x: Int, y: Int): Int = x + y
def mul(x: Int, y: Int): Int = x * y
def apply(f: (Int, Int) => Int, x: Int, y: Int) = f(x, y)

val result = apply(add, 10, 20)
println(result) //30

val result2 = apply(mul, 10, 20)
println(result2) //200

上面的代码定义了两个函数add和mul,并定义了一个函数apply,它接受一个函数作为参数,然后调用这个函数,最后输出调用结果。