定義
Scala 中定義匿名函數(shù)的語法很簡單嗜价,箭頭左邊是參數(shù)列表田度,右邊是函數(shù)體。
使用匿名函數(shù)后樟氢,我們的代碼變得更簡潔了冈绊。
下面的表達(dá)式就定義了一個(gè)接受一個(gè)Int類型輸入?yún)?shù)的匿名函數(shù):
var inc = (x:Int) => x+1
簡寫
上述定義的匿名函數(shù),其實(shí)是下面這種寫法的簡寫:
def add2 = new Function1[Int,Int]{
def apply(x:Int):Int = x+1;
}
匿名函數(shù)的寫法嗡害,可以使得代碼非常的簡潔焚碌。
多個(gè)參數(shù)
我們也可以在匿名函數(shù)里,定義多個(gè)參數(shù)霸妹。
var mul = (x: Int, y: Int) => x * y
然后十电,mul可以作為一個(gè)整體使用:println(mul(3,4))
沒有參數(shù)
var userDir = () => { System.getProperty("user.dir") }
然后:println(userDir())
總結(jié)
匿名函數(shù),就是這樣一種簡化形式 ()=>{}
=> 的左邊是參數(shù)叹螟,右邊是函數(shù)體鹃骂。
可以有零個(gè)或多個(gè)參數(shù),函數(shù)體里面實(shí)現(xiàn)功能罢绽。
另外畏线,需要特別注意的是:參數(shù)必須限定類型。