?.操作符表示非空判斷
?:操作符左右兩端接收一個表達式喉脖,如果左邊不為空返回左邊值福贞,反之返回右邊
!!操作符表示非空斷言仁烹,告訴編譯器我這個值不會是null
${}操作符允許我們在字符串中嵌入表達式厢塘,并在運行時使用表達式執(zhí)行的結(jié)果代替這一部分郊闯,需要注意的是,當(dāng)表達式中僅有一個變量的時候贪庙,還可以將兩邊的大括號省略
companion object關(guān)鍵字表示所有定義在此里面的方法都可以使用類似于Java靜態(tài)方法的形式調(diào)用
Konlit標(biāo)準(zhǔn)函數(shù)
let屬于kotlin中的標(biāo)準(zhǔn)函數(shù)蜘犁,它的作用是將元素調(diào)用對象作為參數(shù)傳遞到Lambda表達式中,例如:
with屬于kotlin的標(biāo)準(zhǔn)函數(shù)止邮,它接收兩個參數(shù)这橙,第一個參數(shù)可以是任意對象,第二個參數(shù)是Lambda表達式导披,主要作用是with函數(shù)會在Lambda表達式中提供第一個參數(shù)對象的上下文屈扎,并使用Lambda表達式中的最后一行代碼作為返回值返回,例如:
run跟apply都屬于kotlin的標(biāo)準(zhǔn)函數(shù)撩匕,使用方法也很相似鹰晨,比如相同的是它們都是不能直接調(diào)用的,一定要調(diào)用某個對象的run函數(shù)或者apply函數(shù)才行滑沧,其次它們都只接收一個Lambda參數(shù)并村,不同的是run函數(shù)最后一行作為返回值返回,而apply函數(shù)只能返回調(diào)用對象本身