package com.scala.function
object test04_Simplify {
def main(args: Array[String]): Unit = {
def f0(name:String):String={
return "我的名字叫"+name
}
println(f0("文鑫0"))
//至简原则
//(1)return可以省略,scala会使用函数体的最后一行最为返回值
def f1(name:String):String={"我的名字叫"+name}
println(f1("文鑫1"))
//(2)如果函数体只有一行代码,可以省略花括号
def f2(name:String):String="我的名字叫"+name
println(f2("文鑫2"))
//(3)返回值类型如果能够推断出来,那么可以省略(:和返回值类型一起省略)
def f3(name:String)="我的名字叫"+name
println(f3("文鑫3"))
//(4)如果有return,则不能省略返回值类型,必须指定
def f4(name:String):String={return "我的名字叫"+name}
println(f4("文鑫4"))
//(5)如果函数明确声明unit,那么即使函数体中使用return关键字也不起作用
def f5(name:String):Unit={return "我的名字叫"+name}
println(f5("文鑫5"))
//(6)Scala如果期望是无返回值类型,可以省略等号
def f6(name:String){println(name)}
println(f6("文鑫6"))
//(7)如果丽数无参,但是声明了参数列表,那么调用时,小括号,可加可不加
def f7():Unit={println("文鑫7")}
f7()
f7
//(8)如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略
def f8:Unit={println("文鑫8")}
f8
//(9)如果不关心名称,只关心逻辑处理,那么函数名(def)可以省略
(name:String)=>{println(name)}
//匿名函数:lambda表达式,java中是->,scala中是=>
}
}
Scala-scala函数式编程-至简原则
最新推荐文章于 2023-03-09 22:12:12 发布