Scala 中多种求和函数定义方式示例

46 阅读1分钟

定义一个函数,计算两数的和

这段 Scala 代码展示了函数定义的多种方式,以整数求和功能为例,演示了 Scala 语言中函数定义的灵活性。

object Base50 {
  // 定义一个函数,计算两数的和
  def sum(x: Int, y: Int): Int = {
    x + y
  }

  // 字面量语法:看起来就像给变量赋值
  val sum1 = (x: Int, y: Int) => { x + y }
  /*
  * 要点:
  * 1. 有一个箭头符号 =>
  * 2. 省略def,省略了返回值类型
  *
  * 特殊的写法-简写
  * 1. 函数只有一句代码,可以省略 {}
  * 2. 如果参数只使用了一次,那么可以用 _ 来代替。要加上参数的类型
  */
  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)}")
  }
}