函數(shù)
def main(args: Array[String]): Unit = {
def func2(s1:String,s2:String ="aaa"):Unit = {
println(s2)
}
func2("111")
}
- def關(guān)鍵字定義函數(shù)
- 函數(shù)可以有默認(rèn)值怜姿,調(diào)用時不傳承則為默認(rèn)值
def func3(name:String) = name
- 函數(shù)可以省略return
- 返回類型可以自動推導(dǎo)
- 如果函數(shù)體只有一行,可以省略挎號
val fun = (name:String) => {println(name)}
val fun2 = fun _
def doPrint(func:String => Unit) {
func("test")
}
doPrint(fun2)
- 匿名函數(shù)賦予變量
- 變量+ 空格+ _ 表示函數(shù)本身而不是調(diào)用函數(shù)
- 函數(shù)可以做入?yún)?/li>
def eval(op:(Int,Int)=>Int,a:Int,b:Int) = op(a,b)
println(eval(_+_,1,2))
匿名函數(shù)極簡形式:
- 省略return
- 只有一行代碼可以省略大挎號
- 類型自動推斷省略返回類型
- 如果參數(shù)只調(diào)用一次且按順序調(diào)用瘤旨,可以通配符代替并且省略參數(shù)+=>