前言
高阶函数指满足以下条件中的1个或者多个
1、入参是函数
2、出参是参数
package scalapackage/** * Created by Germmy on 2018/4/3. */object GaojieFunction2 { //这个也是定义函数的一种方式,其中func:Int,表示的是函数名是func,返回值类型是Int //=>Int=x,表示的是入参是x,类型是Int //=>x * x,表示的是方法体 val func:Int=>Int=x=>x * x val arr=Array(1,2,3,4,5) def main(args: Array[String]) { //完整写法 //x=>func(x),这个整体可以看成是一个匿名函数,x是map中的每一个元素,是这个函数的入参,=>代表这个是函数的符号,方法体是调用func函数 val arr2=arr.map(x=>func(x)) for(i<-arr2){ println(i) } //简略写法 val arr3=arr.map(func) for(i<-arr3){ println(i) } }}
这个例子中,arr.map就是高阶函数,它接受一个匿名函数作为入参。
标签:作为值的函数