函数

23 阅读1分钟

字面量语法,看起来就像给变量赋值

object Base42{
  def sum(x:Int, y:Int):Int = {
    x + y
  }
  val sum1 = (x:Int, y:Int) => {x + y}
def main(args:Array[String]):Unit = {
  val a = 2
  val n = 5
  println(s"$a + $n = ${sum1(a, n)}")
   }
}

要点

  1. 有一个箭头符号 =>
  2. 省略def,省略了返回值类型

特殊的写法-简写

  1. 函数只有一句代码,可以省略{}
  2. 如果参数只使用了一次,那么可以用——来代替
object Base42{
  def sum(x:Int, y:Int):Int = {
    x + y
  }
  val sum1 = (x:Int, y:Int) => {x + y}
  val sum2 = (x:Int, y:Int) => x + y
  val sum3:(Int,Int) => Int = {_ + _}
  val sum4 = (_:Int) + (_:Int)
def main(args:Array[String]):Unit = {
  val a = 2
  val n = 5
  println(s"$a + $n = ${sum1(a, n)}")
  println(s"$a + $n = ${sum2(a, n)}")
  println(s"$a + $n = ${sum3(a, n)}")
  println(s"$a + $n = ${sum4(a, n)}")
   }
}