一、常规函数定义回顾
通过 def 关键字定义常规函数,比如下面这个计算两数之和的函数:
def sum(x: Int, y: Int): Int = {
x + y
}
二、函数字面量基础
(一)基本形式
函数字面量的基本形式,看起来就像给变量赋值一样,示例如下:
scala
val sum1 = (x: Int, y: Int) => { x + y }
(二)特殊简写方式
函数字面量还有一些特殊的简写形式,让代码更加简洁。
函数体只有一句代码,省略 {}
当函数字面量的函数体只有一句代码时,可以省略 {}
val sum2 = (x: Int, y: Int) => x + y
三、代码演示与运行结果
object class22 {
// 定义一个函数,计算两数的和
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 = { _ + _ }
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)}")
}
}
四、总结
要点:
1一个箭头符号 =>
2. 省略def,省略了返回值类型
特殊的写法-简写
1. 函数只有一句代码,可以省略 {}
2. 如果参数只使用了一次,那么可以用 _ 来代替。要加上函数的返回值
计算两个整数之和的多种实现方式:
-
- 常规的 sum 方法
-
- 三种不同形式的函数字面量(sum1、sum2、sum3)
- 3 main 方法中演示了如何调用这些求和方法并输出结果