Kotlin作用域函數(shù)

kotlin中經(jīng)常出現(xiàn)run、with、let、also、apply,開始時(shí)候容易迷糊,有什么用有什么區(qū)別?

一:作用

作用域函數(shù) 用于擴(kuò)展方便開發(fā)者編碼的內(nèi)置函數(shù),能大大提高開發(fā)者的開發(fā)效率。

首頁明確一點(diǎn)他們都是錦上添花,不用一樣可以寫代碼,但是優(yōu)秀的代碼必然需要使用作用域函數(shù)提高效率。

二:定義

Kotlin 標(biāo)準(zhǔn)庫包含幾個(gè)函數(shù),它們的唯一目的是在對(duì)象的上下文中執(zhí)行代碼塊。當(dāng)對(duì)一個(gè)對(duì)象調(diào)用這樣的函數(shù)并提供一個(gè) lambda 表達(dá)式時(shí),它會(huì)形成一個(gè)臨時(shí)作用域。在此作用域中,可以訪問該對(duì)象而無需其名稱。這些函數(shù)稱為作用域函數(shù)。共有以下五種:let、run、with、apply 以及 also。

這些函數(shù)基本上做了同樣的事情:在一個(gè)對(duì)象上執(zhí)行一個(gè)代碼塊。不同的是這個(gè)對(duì)象在塊中如何使用,以及整個(gè)表達(dá)式的結(jié)果是什么。

作用域函數(shù)官方介紹

這里所說的標(biāo)準(zhǔn)函數(shù)主要來自于標(biāo)準(zhǔn)庫中在文件Standard.kt中的所有函數(shù)。

clipboard.png

三let例子

簡化代碼,方便統(tǒng)一判斷空處理

1.png
2.png

五run、with、let、also、apply區(qū)別

img
3.png

https://juejin.im/post/5ae02dd051882567137dde82

http://www.itdecent.cn/p/d9b2d8e83925

https://juejin.im/post/5a1be4cc51882512a86108f8

http://www.itdecent.cn/p/e3ae07461a21

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容