Scala 高阶函数

Posted noyouth

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala 高阶函数相关的知识,希望对你有一定的参考价值。

一、函数作为参数

  highOrderFunc是一个高阶函数,因为它可以接收一个函数作为参数

object PartialFunctionDemo {

  def main(args: Array[String]): Unit = {
    val add = (d: Double) => d + 1
    
    val res = highOrderFunc(add, 5)
    println(res)
    
  }

  def highOrderFunc(f: Double => Double, p: Double) = f(p)

}

  

二、函数作为返回值

  函数f接收一个参数n,返回一个函数(x: Double) => n - x

  f(5)(8),f(5)的返回值是一个函数,(8)是上一步返回函数的参数

def main(args: Array[String]): Unit = {
  val f = (n: Double) => (x: Double) => n - x

  val res = f(5)(8)
  println(res) // -3

}

  

以上是关于Scala 高阶函数的主要内容,如果未能解决你的问题,请参考以下文章

Scala函数及其高阶应用

[Scala函数特性系列]——高阶函数

快学Scala(12)--高阶函数

Scala快速入门--异常处理泛型高阶函数隐式转换

Scala高阶

scala高阶函数学习