欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Kotlin怎么使用類似C#的yield功能-創(chuàng)新互聯(lián)

這篇文章主要介紹Kotlin怎么使用類似C#的yield功能,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新新互聯(lián),憑借十余年的做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),本著真心·誠(chéng)心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有上1000家案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)建站。

前言

用過c#的可能對(duì) yield 關(guān)鍵字愛不釋手,那么在像我這種被迫上java賊船的人,就想找到類似的功能。

我使用的是kotlin,下面的方法演示了產(chǎn)生一個(gè)序列的功能。

val fibonacciSeq = buildSequence {
 var a = 0
 var b = 1

 yield(1)

 while (true) {
 yield(a + b)

 val tmp = a + b
 a = b
 b = tmp
 }
}

fun main(args: Array<String>){
 fibonacciSeq.take(50).forEach {
 println(it)
 }
}

程序?qū)?zhí)行50次然后退出。

實(shí)現(xiàn)枚舉器

上面的代碼使用的是序列功能,并非是常見的枚舉器,下面的代碼更像c#的枚舉器。

class MyList : Iterable<Int>{
 private val list = arrayOf(1,2,3,4,5,6)

 override fun iterator(): Iterator<Int> {
 return buildIterator {
 val size = list.size
 for(i in 0 until size) {
 yield(list[i] + i)
 }
 }
 }
}

fun main(args: Array<String>){
val list = MyList()
 for (p in list) {
 println(p)
 }
}

實(shí)現(xiàn)類似Linq

我們?cè)谑褂肔inq時(shí)可以將序列不斷的變換,Kotlin也可以很方便的處理。

//將輸入的數(shù)據(jù) + 1
fun Do1(seq : Sequence<Int>) : Sequence<Int>{
 return buildSequence {
 for (i in seq){
 yield(i + 1)
 }
 }
}

//變換成字符串
fun Do2(seq : Sequence<Int>) : Sequence<String>{
 return buildSequence {
 for (i in seq){
 yield("hello $i ")
 }
 }
}

//將多個(gè)數(shù)據(jù)聚合到一個(gè)數(shù)據(jù)
fun Do3(seq : Sequence<String>) : Sequence<String>{
 return buildSequence{
 var result = ""
 var count = 0

 for (i in seq){
 result += i
 count++
 if(count == 3){
 yield(result)
 result = ""
 count = 0
 }
 }

 if(count > 0){
 yield(result)
 }
 }
}

fun main(args: Array<String>){
 val data = arrayOf(1,2,3,4,5,6,7,8)
 val result = Do3(Do2(Do1(data.asSequence())))
 for (p in result){
 println(p)
 }
}

以上是“Kotlin怎么使用類似C#的yield功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞名稱:Kotlin怎么使用類似C#的yield功能-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://aaarwkj.com/article16/idcdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷自適應(yīng)網(wǎng)站、網(wǎng)站收錄、云服務(wù)器、搜索引擎優(yōu)化、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
国产放荡av剧情精品| 久久综合久中文字幕青草| 成人午夜福利影院在线| 久久av免费一区二区观看| 精品亚洲美无人区乱码| 中文字幕伦理一区二区| 国产精品国产三级国产av一区| 丰满少妇一区二区三区在线观看 | 丝袜美腿亚洲综合一区| 国产成人精品一区二区国产乱码 | 欧美激情片免费在线观看| 免费搜索国产男女视频| 成年免费视频一区二区三区| 日韩国产欧美亚洲一区| 亚洲欧美另类熟女丝袜| 伊人久久九九精品综合| 日韩不伦高清一区二区三区| 日韩中文字幕视频久久| 午夜少妇伦理一区二区| 国产91高清视频在线观看| 午夜欧美激情在线视频| 成人免费在线视频不卡| 激情五月天色婷婷久久| 在线播放欧美视频91| 日本激情人妻一区二区| 青青草原高清在线观看| 成人爱爱在线视频免费观看| 黄片无毛欧美在线观看| 欧美日韩另类国产综合| 精品女厕一区二区三区| 西西美女掰开阴让你看| 日本一区二区免费高清不卡| 色男人天堂网在线视频| 四虎永久播放地址免费| 日韩精品中文字幕影视 | 亚洲狠狠爱一区二区三区| 四虎国产精品久久久久久网址 | 黑丝美女大战白丝美女| 中文字幕国产精品一区二| 九九九热视频这里只有精品| 亚洲天堂成人综合在线|