高阶函数
可以接收函数作为参数的函数就是高阶函数。
Demo
object HighOrderFuncDemo01 {
def main(args: Array[String]): Unit = {
val res = test(sum, 2.0)
println(res)
val f1 = myPrint _
f1()
}
def myPrint(): Unit = {
println("Hello World!")
}
def test(f: Double => Double, n1: Double) = {
f(n1)
}
def sum(double: Double) = {
println("sum 被调用")
double + double
}
}
test 就是一个高阶函数
f: Double => Double 表示一个接收Double类型,并返回Double类型的函数
f(n1) 表示执行传入的函数。在这个示例中就是
sum
。val f1 = myPrint _
可以将函数直接赋值给一个变量。 后面的下划线 表示 这个函数不执行,只赋值。
Last updated
Was this helpful?