深圳大資料學習:高階函式--【千鋒】
深圳大資料學習: 高階函式 -- 【千鋒】
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/69947096/viewspace-2660986/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深圳大資料學習:泛型--【千鋒】大資料泛型
- 深圳大資料學習:方法的巢狀--【千鋒】大資料巢狀
- Haskell學習-高階函式Haskell函式
- 好程式設計師大資料學習路線分享高階函式程式設計師大資料函式
- 深圳Java學習:小白速懂Https協議-千鋒JavaHTTP協議
- 深圳Java培訓學習:MyBatis Plus 介紹--【千鋒】JavaMyBatis
- 深圳Python培訓學習:Python3 簡介–[千鋒]Python
- 深圳Web前端培訓學習:js中的模組化--【千鋒】Web前端JS
- 深圳軟體測試培訓學習:Java Random介紹--【千鋒】Javarandom
- 深圳雲端計算培訓學習:Apache 訪問控制--【千鋒】Apache
- 前端 javascript 練習題--Math、Data及函式封裝【千鋒】前端JavaScript函式封裝
- 深圳軟體測試培訓學習:Java連線MySQL--【千鋒】JavaMySql
- 深圳Java學習:MyBatis為什麼在國內相當流行?-千鋒JavaMyBatis
- Python 函式進階-高階函式Python函式
- Linux C語言高階學習第四天(C高階-函式)LinuxC語言函式
- JS學習理解之閉包和高階函式JS函式
- 高階函式函式
- 深圳Web前端學習:如何給網頁劃分合適的結構--【千鋒】Web前端網頁
- 深圳Web前端學習:前端工程師到底要不要學習演算法知識?--【千鋒】Web前端工程師演算法
- 深圳Web前端學習:學 Web 前端開發,培訓還是自學靠譜?-千鋒Web前端
- 從高階函式--->高階元件函式元件
- Kotlin 函式6 - 高階函式Kotlin函式
- 深圳雲端計算培訓學習:部署網校系統 edusoho--【千鋒】
- Kotlin高階函式Kotlin函式
- oracle 高階函式Oracle函式
- python高階函式Python函式
- 函式高階玩法函式
- Javascript 高階函式JavaScript函式
- 深圳java培訓:構建xml文件--【千鋒】JavaXML
- Kotlin——高階篇(二):高階函式詳解與標準的高階函式使用Kotlin函式
- 深圳軟體測試培訓學習:Android常用自動化測試工具【千鋒】Android
- R語言學習-高階資料管理R語言
- 探索MySQL高階語句(數學函式、聚合函式、字串函式、日期時間函式)MySql函式字串
- 大資料和雲端計算的關係是什麼?-千鋒深圳雲端計算培訓大資料
- javaScript高階級函式JavaScript函式
- python- 函式高階Python函式
- Javscript 高階函式(上)函式
- shell高階-----建立函式函式