深入理解Scala中的函数式编程
核心内容: 1、Scala中函数的地位:一等公民 2、Scala中的匿名函数(函数字面量) 3、Scala中的高阶函数 4、Scala中的闭包 5、Scala中的部分应用函数 6、Scala中的柯里化函数 1、Scala中函数的地位:一等公民 ①在Scala当中,函数是一等公民,像变量一样,既可以作为函数的参数使用,也可以将函数赋值给一个变量. ②在Scala当中,函数是一等公民,函数的创建不用依赖于类、特质或者对象,而在Java当中,函数的创建则要依赖于类、抽象类或者接口. Python中的函数: 定义一个函数就相当于在进行赋值操作,相当于定义一个变量。 只要碰到def,就将其当成一个变量赋值操作。 示例程序1: 运行结果: Spark Hadoop Spark Hadoop Spark Hadoop 示例程序2: 2、Scala中的匿名函数(函数字面量) ①Scala中的匿名函数也叫做函数字面量,既可以作为函数的参数使用,也可以将其赋值给一个变量. ②在匿名函数的定义当中,=>可理解为一个转换器,它使用右侧的算法,将左侧的输入数据转换为新的输出数据. 实例程序1: 运行结果: [ 2 4 6 8 ] [ 2 4 6 8 ] [ 2 4 6 8 ] 3、Scala中的高阶函数 ①函数的类型,其实就是输入输出值的类型. ②Scala中的高阶函数包括两种: