scala 高階函式

2022-06-09 09:27:08 字數 861 閱讀 2213

//

1類似於lambda表示式的函式直接量********************==

var get = (name: string) =>

get("456")

//2高階函式:func為傳入的引數(string為func的引數型別,unit為func的返回型別)********************==

def get1(func: (string) =>unit, name: string)

def func1(x: string) =

get1(func1, "p")

//3高階函式, 返回乙個函式********************==

def get2(num: int = 123): (string) => unit =

//解法1

var ret_func = get2(666)

ret_func("2k")

//解法2,currying函式概念(使用了「閉包」就是變數num)

get2(666)("3k")

println((1 to 5).map(_ + 1)) //對每個元素+1操作
println((1 to 5).filter(_ % 2 == 0)) //

過濾println((1 to 5).reduce(_ + _)) //

累加println((1 to 5).sortwith(_ > _)) //

大的數排在左邊

//return的用法********************==

def get3(x: int): int =

get4(x) + 3}

get3(2)

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...