object TestFunction {/* */ def main(args: Array[String]): Unit = { //(0) 函数的标准写法 def f0(s:String):String ={ return "f0:"+ s+ ":jack" } print(f0("hello")+"\n")// ( 1) return 可以省略, Scala 会使用函数体的最后一行代码作为返回值 def f1(s:String):String={ "f1:"+s+":jack" } println(f1("hello"))// ( 2)如果函数体只有一行代码,可以省略花括号 def f2(s:String):String= "f2:"+s+":jack" println(f2("hello"))// ( 3)返回值类型如果能够推断出来,那么可以省略( :和返回值类型一起省略) def f3(s:String)= "f3:"+s+":jack" println(f3("hello"))// ( 4)如果有 return,则不能省略返回值类型,必须指定 def f4():String= { return "f4:"+":jack" } println(f4())// ( 5)如果函数明确声明 unit,那么即使函数体中使用 return 关键字也不起作用 def f5():Unit={ return "hellldada" } println(f5())// ( 6) Scala 如果期望是无返回值类型,可以省略等号 def f6() { "swdada" } println(f6())// ( 7)如果函数无参,但是声明了参数列表,那么调用时,小括号,可加可不加 def f7() ="dadjhajkhd" println(f7())// ( 8)如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略 def f8 = "dasdjas" println(f8)// ( 9)如果不关心名称,只关心逻辑处理,那么函数名( def)可以省略等号 def f9 = (x:String)=>{println("wusong")} def f10(f0:String=>Unit)={ f0("") } f10(f9) println("f10:"+f10((x:String)=>{println("wusong")})) }