kotlin學(xué)習(xí)日記(1)

··
一、with與apply函數(shù)

1.1、with函數(shù)

with函數(shù)用于對(duì)同一個(gè)對(duì)象執(zhí)行多次操作而不需要反復(fù)把對(duì)象的名稱寫(xiě)出來(lái)

例如,為了構(gòu)建一個(gè)包含指定內(nèi)容的字符串,需要先后如下調(diào)用

改為通過(guò) with 函數(shù)來(lái)構(gòu)建的話會(huì)代碼會(huì)簡(jiǎn)潔許多

with 結(jié)構(gòu)其實(shí)是一個(gè)接受兩個(gè)參數(shù)的函數(shù),在這個(gè)例子中就是一個(gè) StringBuilder 和一個(gè) Lambda 表達(dá)式,這里利用了把 Lambda 表達(dá)式放在括號(hào)外的約定

with 函數(shù)的返回值是執(zhí)行 Lambda 表達(dá)式的結(jié)果,該結(jié)果就是 Lambda 中的最后一個(gè)表達(dá)式的返回值,因此如果將代碼修改為如下所示的話,因?yàn)?println() 方法無(wú)返回值,所以打印出來(lái)的內(nèi)容將是 kotlin.Unit

1.2、apply函數(shù)

apply函數(shù)和with函數(shù)的唯一區(qū)別在于:apply函數(shù)始終會(huì)返回作為實(shí)參傳遞給它的對(duì)象

apply函數(shù)被聲明為一個(gè)擴(kuò)展函數(shù),它的接收者變成了作為實(shí)參的 Lambda 的接受者

二、const val和val

1.const val 可見(jiàn)性為public final static,可以直接訪問(wèn)。

2.val 可見(jiàn)性為private final static,通過(guò)方法調(diào)用訪問(wèn)。


最后編輯于
?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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