好程式設計師大資料教程Scala系列之高階函式
好程式設計師大資料教程Scala系列之高階函式
1.1. 概念
如果一個函式的傳入引數為函式或者返回值是函式,則該函式即為高階函式。
1.2. 傳入引數為函式
Scala中,函式是頭等公民,和數字一樣。不僅可以呼叫,還可以在變數中存放函式,也可以作為引數傳入函式,或者作為函式的返回值。
1.3. 傳入引數為匿名函式
在Scala中,你不需要給每一個函式命名,就像不必給每個數字命名一樣,將函式賦給變數的函式叫做匿名函式
還可以
1.4. 傳入引數為方法(隱式轉換方法到函式)
在Scala中,方法和函式是不一樣的,最本質的區別是函式可以做為引數傳遞到方法中
case
class WeeklyWeatherForecast(temperatures: Seq[Double]) {
private
def convertCtoF(temp: Double) = temp * 1.8 + 32
//方法convertCtoF作為引數傳入
def forecastInFahrenheit: Seq[Double] = temperatures.map(convertCtoF)
}
1.5.返回值為函式
//返回值為函式型別:(String, String) => String
def urlBuilder(ssl: Boolean, domainName: String): (String, String) => String = {
val schema =
if (ssl) "
else "
(endpoint: String, query: String) => s"$schema$domainName/$endpoint?$query"
}
val domainName = "
def getURL = urlBuilder(ssl=
true, domainName)
val endpoint = "users"
val query = "id=1"
val url = getURL(endpoint, query)
// " String
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2659735/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師大資料教程Scala系列之類程式設計師大資料
- 好程式設計師大資料教程分享Scala系列之Option_偏函式_String程式設計師大資料函式
- 好程式設計師大資料教程Scala系列之繼承程式設計師大資料繼承
- 好程式設計師大資料教程分享Scala系列之閉包程式設計師大資料
- 好程式設計師大資料教程Scala系列之隱式轉換和隱式引數程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之集合操作函式程式設計師大資料函式
- 好程式設計師大資料教程分享Scala系列之檔案以及正規表示式程式設計師大資料
- 好程式設計師大資料分享Scala系列之柯里化程式設計師大資料
- 好程式設計師大資料教程Scala系列之方法的巢狀和方法多型程式設計師大資料巢狀多型
- 好程式設計師大資料學習路線分享高階函式程式設計師大資料函式
- 好程式設計師大資料學習路線分享Scala系列之物件程式設計師大資料物件
- 好程式設計師大資料學習路線分享Scala系列之抽象類程式設計師大資料抽象
- 好程式設計師大資料學習路線分享Scala系列之泛型程式設計師大資料泛型
- 好程式設計師大資料學習路線分享Scala系列之陣列程式設計師大資料陣列
- 好程式設計師大資料培訓分享spark之Scala程式設計師大資料Spark
- 好程式設計師Python教程系列遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- 好程式設計師大資料學習路線分享Scala系列之對映Map程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之基礎篇程式設計師大資料
- 好程式設計師web前端教程:Math函式程式設計師Web前端函式
- 好程式設計師分享大資料教程之執行緒高階部分程式設計師大資料執行緒
- 好程式設計師大資料學習路線分享UDF函式程式設計師大資料函式
- 好程式設計師大資料學習路線分享spark之Scala程式設計師大資料Spark
- scala 函式程式設計函式程式設計
- 好程式設計師大資料學習路線hive內部函式程式設計師大資料Hive函式
- 好程式設計師大資料教程分享大資料之流程控制程式設計師大資料
- scala簡明教程:偏函式、高階函式、Future非同步程式設計、隱式轉換函式非同步程式設計
- 好程式設計師大資料培訓分享之《MySQL資料庫》常用函式整理程式設計師大資料MySql資料庫函式
- 好程式設計師大資料培訓分享之hive常用內部函式程式設計師大資料Hive函式
- 好程式設計師大資料教程分享:HDFS基本概念程式設計師大資料
- Stream之高階函式函式
- 好程式設計師雲端計算學習路線之高階許可權程式設計師
- 好程式設計師大資料學習路線分享Scala分支和迴圈程式設計師大資料
- 好程式設計師大資料教程分享實用的大資料之陣列程式設計師大資料陣列
- 好程式設計師大資料培訓分享之hive常見自定義函式程式設計師大資料Hive函式
- 好程式設計師大資料學習路線分享函式+map對映+元祖程式設計師大資料函式
- 好程式設計師大資料高階班分享10個大資料專業術語程式設計師大資料
- 大資料面試題整理-好程式設計師大資料面試題程式設計師
- 好程式設計師大資料教程分享HadoopHDFS操作命令總結程式設計師大資料Hadoop