欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:開發(fā)語言 Scala學習(四)

柚子快報激活碼778899分享:開發(fā)語言 Scala學習(四)

http://yzkb.51969.com/

文章目錄

1.閉包2.函數(shù)式編程遞歸和尾遞歸2.1遞歸2.2 尾遞歸

3.控制抽象3.1 值調(diào)用3.2 名調(diào)用

4.惰性函數(shù)

1.閉包

如果一個函數(shù),訪問到了它的外部(局部)變量的值,那么這個函數(shù)和它所處的環(huán)境稱之為閉包

//閉包練習

def sumX(x:Int)={

def sumY(y:Int):Int={

x+y

}

sumY _

}

val xResult = sumX(5)

val result = xResult(6)

println(result)

2.函數(shù)式編程遞歸和尾遞歸

2.1遞歸

嵌套調(diào)用自身的函數(shù) 必須要有停止的條件 遞歸調(diào)用的參數(shù)必須有規(guī)律 結(jié)果值的類型不能省略

//使用遞歸實現(xiàn)階乘

def func_count(n:Int):Long={

if(n==1)

{

1L

}

else

{

func_count(n-1)*n

}

}

println(func_count(6))

2.2 尾遞歸

尾遞歸,顧名思義,即最后遞歸調(diào)用函數(shù)的一行,只有自身的函數(shù)沒有其他的值。

//使用尾遞歸對階乘進行優(yōu)化

def lastRecursion(n:Int,res:Long=1):Long={

if(n==1)

{

res

}

else

{

lastRecursion(n-1,res*n)

}

}

val result = lastRecursion(5)

println(result)

3.控制抽象

控制抽象分為值調(diào)用和名調(diào)用

3.1 值調(diào)用

值調(diào)用就是將代碼塊的結(jié)果作為參數(shù)傳入到函數(shù)當中

//控制抽象

def sayHi(name:String)={

println("函數(shù)調(diào)用")

println(s"hi $name")

println(s"hi $name")

}

sayHi({

println("我是代碼塊")

"mao"

})

3.2 名調(diào)用

名調(diào)用不是將代碼塊的結(jié)果作為參數(shù)傳入函數(shù)中,直接將整個代碼塊傳入到參數(shù)中,使用一次代碼塊就會運行一次。

def sayHi(name: =>String)={

println("函數(shù)調(diào)用")

println(s"hi $name")

println(s"hi $name")

}

sayHi({

println("我是代碼塊")

"mao"

})

4.惰性函數(shù)

惰性函數(shù),當函數(shù)的返回值被聲明為lazy的時候,函數(shù)的執(zhí)行將被推遲到我們首次對此取值,該函數(shù)才會執(zhí)行,這種函數(shù)我們稱為惰性函數(shù) 案例實操:

//正常函數(shù)執(zhí)行

//實現(xiàn)懶加載

def sumXY(x: Int, y: Int): Int = {

println("sum函數(shù)調(diào)用")

x + y

}

val sum: Int = sumXY(5, 6)

println("其他代碼")

println(sum)

運行結(jié)果: 使用惰性函數(shù)運行上述代碼,不會在調(diào)用函數(shù)的時候就執(zhí)行,而是等到調(diào)用返回值的時候再進行計算

lazy val sum: Int = sumXY(5,6)

println("其他代碼")

println(sum)

柚子快報激活碼778899分享:開發(fā)語言 Scala學習(四)

http://yzkb.51969.com/

相關(guān)鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18956715.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄