匿名函數在spark用的不少,經典用法就是:html
匿名函數賦值給常量:var add = (a:Int, b:Int) => a + b;web
匿名函數賦值給函數:def add = (a:Int, b:Int) => a + b;函數
而後就能夠直接用add(2,3)了。ui
Scala中定義匿名函數的語法是至關輕量的。下面的表達式就定義了一個接受一個Intspa
類型輸入參數的匿名函數:scala
上述定義的匿名函數,實際上是下面這種寫法的簡寫:orm
簡單調用以下:htm
咱們固然也能夠定義多個參數的匿名函數:ci
多參數使用Function語法來定義以下get
也能夠定義沒有參數的匿名函數:
匿名函數的Function語法的實現以下:
用來表示上述三個匿名函數(一個參數,兩個參數,無參數)的函數類型也很簡單
上述三個函數的函數類型分別表示以下:
Int => Int
(Int,Int) => Int
() => Unit
上述表示的函數類型是下面這種表示放法的簡寫
Function1[Int,Int]
Function2[Int,Int,Int]
Function0[Unit]
轉自: