对于scala语言来说,函数的至简原则是它的一大特色。下面让我们一起来看看分别有什么吧!
函数至简原则:能省则省!
初始函数
def test(name:String):String={
return name
}
1、return可以省略,Scala会使用函数体的最后一行代码作为返回值。
可以简化为:return省略
def test01(name:String):String={
name
}
2、如果函数体只有一行代码,可以省略花括号。
可以简化为:{}省略
def test02(name:String): String = name
3、返回值如果可以推断出来,那么可以省略(: 和返回值类型一起省略)。
可以简化为:: String一起省略
def test03(name:String) = name
这个表达式是不是相当于数学中函数表达式:f(x) = x
4、如果有return,则不能省略返回值类型,必须指定
5、如果函数明确声明unit,那么即使函数体中使用return关键字也不起作用
6、如果期望是无返回值类型,那么可以省略等号。
def test06(name:String) {
name
}
在一些场景下,我们可以把这个叫做过程(process)。相当于定义了一个即将要执行的子过程,一行一行的执行。
7、如果函数无参,但是声明了参数列表,那么调用时,小括号可写可不写。
def test07():String= {
println("hello world")
}
//调用
test07()
test07
8、如果函数没有参数列表,那么函数定义时,小括号可以省略,调用时小括号也必须省略。
def test08:Unit= {
println("hello world")
}
//调用
//test08() 这个会报错
test08
9、如果不关心函数名称,只关心逻辑处理,那么函数定义名称 可以省略
def test09(name:String):Unit= {
println(name)
}
可以简化为:
(name:String ) => {println(name)}