高阶函数(Higher-Order Function)就是操做其余函数的函数。 Scala 中容许使用高阶函数, 高阶函数可使用其余函数做为参数,或者使用函数做为输出结果。函数
object HelloWorld { def main(args: Array[String]): Unit = { /** * 这儿的sumAB 是一个函数对象,能够理解成C语言中的函数指针,指向下面定义的“sumAB”这个函数类型 * 吧一个函数对象作为参数,传递给execute函数 */ execute(sumAB, 2) /** *returnFunc() 返回一个函数,后面接圆括号表示调用返回的函数 */ println(returnFunc()(3,4)) } /** * @param t 函数对象。t函数对象接受2个Int的参数,返回值是Int * 能够理解成C语言中的函数指针,接受一个指针,该指针是指向 接受两个Int类型的参数返回值是Int的函数 * @param b Int类型参数 * @return */ def execute(t:(Int,Int) => Int, b: Int) = { println("在 execute方法内") println("参数: " + t(b,b)) t(b,b) } def sumAB(a: Int, b:Int): Int = { println("a+b=" + a+b) a+b } /** * * @return 返回函数,能够理解成C语言中的指针函数。该函数返回一个指针,指针(函数指针)。 * 返回的该指针指向 接受2个Int参数,返回Int值的函数 */ def returnFunc():(Int,Int)=>Int = { def sumCD(c:Int,d:Int):Int = { c+d } sumCD } }