scala教程:高阶函数介绍、将函数赋给 常量 或 变量

介绍

在 Scala 中,函数是一等公民,不仅可以 定义函数、调用函数,还可以将函数 赋给一个变量 或 常量

将函数赋给 常量/变量

一般应用场景不多

语法1(重要)

常量名的 类型,是 函数的 (形参列表) => 返回值,注意:中间是 =>

val 常量名:(形参列表) => 返回值 = 函数名

语法2

val 常量名 = 函数名 _

例子

def main(args: Array[String]): Unit = {
  //定义函数
  def add(a:Int,b:Int) : Int = {
    return a+b
  }
  //调用函数
  println(add(1,2))

  //将函数赋给常量
//  val fun = add(1,3) //不能写成这种,这种表示调用 add() 函数

  val fun = add _
  val fun2:(Int,Int) => Int = add //(参数类型) => 返回类型

  println(fun) //打印常量
  println(fun2)
}

执行结果:

test.StdFun7$$$Lambda$5/1914572623@6ea6d14e
test.StdFun7$$$Lambda$6/679890578@6ad5c04e

是函数的地址,这里可以看出是 Lambda表达式,关于 Lambda表达式后面会详细介绍

通过 常量/变量 调用函数

println(fun(1,2))
println(fun2(3,4))

原文出处:/show_1IX1BSfm5RDV.html