字面量语法

92 阅读1分钟

什么是字面量语法?

它,是看起来就像给变量赋值

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

用一段代码来形容:
    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)}")
  }
}

下面的就是字面量语法。而上面的代码与下面的代码结果是一样的,都是2 + 5 = 7

还有特殊的写法 - 简写:
        1.函数只有一句代码,可以省略 { }
        2.如果参数只使用了一次,那么可以用 _ 来代替。要加上参数的类型
如:以下代码
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)}")
}
那么结果将会是:

屏幕截图 2025-10-16 084529.png

那么定义一个字面量函数,计算两个数的较大者和较小者
    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)
  }
}
那它的结果就是:
test被调用
2
test被调用
1