Scala中常用的函数类型
- 匿名函数:没有名字的函数,只有参数列表和函数体
(x:Int,y:Int) => {函数体}
- 值函数:将匿名函数赋值给一个变量,取个名字
val fname = (x:Int,y:Int) => {函数体}
- 高阶函数:函数A的参数是一个函数,A就为高阶函数
f1(f:A => B)
柯里化函数的功能及特点
概述
柯里化(Currying)是指将原先接受多个参数的方法转换为多个只有一个参数的参数列表的过程。
流程详解
需求
定义方法,完成两个字符串的拼接
object demo {
//需求: 定义方法, 完成两个字符串的拼接.
// 方式一: 普通写法.
def merge1(s1:String, s2:String) = s1 + s2
// 方式二: 柯里化操作.
def merge2(s1:String, s2:String)(f1: (String, String) => String) = f1(s1, s2)
def main(args: Array[String]): Unit = {
//调用普通写法
println(merge1("abc", "xyz"))
// 调用柯里化写法.
println(merge2("abc", "xyz")(_ + _))
println(merge2("abc", "xyz")(_.toUpperCase() + _))
}
}