高階函式 scala

2021-10-09 03:53:35 字數 1142 閱讀 4806

**

/**

* 高階函式

* * 高階函式要求引數是函式或者返回值是函式

*///高階函式要求引數是函式或者返回值是函式

//引數是函式

val arr =array(1,

2,3,

4,5)

val fun=

(x:int

)=>x*

2//1.引數是函式(fun)

val res =arr.map(fun)

//2.引數是函式(匿名函式)

val res2 = arr.map(

(x:int

)=>x*2)

val res3 =arr.map(_*2)

println(res.tobuffer)

//返回值是函式

def urlbuilder(ssl:

boolean

,domain:

string):

(string

,string

)=>

string

=val dominname=

"www.1000phone.com"

//傳入前兩個引數

def geturl:

(string

,string

)=>

string

=urlbuilder(ssl =

true

, dominname)

val endopint=

"users"

val query =

"id=1"

//傳入返回函式的後兩個引數,並呼叫該返回函式

val res4 =geturl(endopint,query)

println(res4)

}

執行結果

Scala高階函式

在scala中,無法直接操縱方法,只能直接操縱函式,所以需要使用 import scala math.val temp ceil val num 3.14 println fun temp num temp的型別是 double double,意為接受double引數並返回double的函式。能夠對...

Scala 高階函式

import scala.math.val num 3.14val func ceil 意味著確實指的是這個函式,而不是忘記了傳引數 func是乙個函式變數,內容儲存的是個函式 val v func num println v val arr array 1.0,3.14,4 map func 將函...

Scala高階函式

高階函式 higher order function 高階函式可以使用其他函式作為引數,進入方法內使用,或者使用函式輸出結果作為引數。object demo 函式1,返回當前時間納秒數,long型別 def time t long 可以簡寫為t long,long表示如果傳入引數為方法時返回值為lo...