作者也不知道写什么标题

15 阅读1分钟

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

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

object Base50 {

  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)}")
  }
}
object Base51 {
  定义一个函数,计算两数的和

  定义一个字面量函数,计算两个数的较大者
  val getMax = (x: Int, y: Int) => if (x > y) x else y

  定义一个字面量函数,计算两个数的较小者
  val getMin = (x: Int, y: Int) => if (x < y) x else y

  test 这个函数,它的第一个参数是一个函数。
  val test = (x: (Int, Int) => Int, a: Int, b: Int) => {
    println("test被调用")
    println(x(a, b))
  }

  def main(args: Array[String]): Unit = {
    test(getMax, 1, 2)
  }
}
object Base52 {
  // 部分应用函数,在调用函数的时候,只传入一部分参数。
  val mul = (a: Int, b: Int, c: Int) => a * b * c

  def main(args: Array[String]): Unit = {
    val rst = mul(2, 3, 4)
    val f = mul(2, 3, _)
    val rst1 = f(5)
    println(rst)
    println(rst1)
  }
}