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

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:開發(fā)語言 Scala學(xué)習(xí)(四)

柚子快報(bào)激活碼778899分享:開發(fā)語言 Scala學(xué)習(xí)(四)

http://yzkb.51969.com/

文章目錄

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

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

4.惰性函數(shù)

1.閉包

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

//閉包練習(xí)

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é)果值的類型不能省略

//使用遞歸實(shí)現(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ù)沒有其他的值。

//使用尾遞歸對(duì)階乘進(jìn)行優(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ù)當(dāng)中

//控制抽象

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ù)中,直接將整個(gè)代碼塊傳入到參數(shù)中,使用一次代碼塊就會(huì)運(yùn)行一次。

def sayHi(name: =>String)={

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

println(s"hi $name")

println(s"hi $name")

}

sayHi({

println("我是代碼塊")

"mao"

})

4.惰性函數(shù)

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

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

//實(shí)現(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)

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

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

println("其他代碼")

println(sum)

柚子快報(bào)激活碼778899分享:開發(fā)語言 Scala學(xué)習(xí)(四)

http://yzkb.51969.com/

相關(guān)鏈接

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

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

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

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

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄