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")}))
}