let:str.let{it}
????1.let函數(shù)返回類型,是根據(jù)匿名函數(shù)最后一行的變化而變化。
????2.let函數(shù)的 匿名函數(shù)里面持有的是it==調(diào)用本身
apply:str.apply{this}
????1.apply函數(shù)返回類型,是調(diào)用本身類型
????2.apply函數(shù)的 匿名函數(shù)里面持有的是this==調(diào)用本身
run:str.run{this}
? ? 1.run函數(shù)返回類型,是根據(jù)匿名函數(shù)最后一行的變化而變化
? ? 2.run函數(shù)的 匿名函數(shù)里面持有的是this==調(diào)用本身
with:with(str){this}
? ? with函數(shù)和run函數(shù)基本上一模一樣,就是調(diào)用方式不同,with不可以鏈?zhǔn)秸{(diào)用
also:str.also{it}
????1.also函數(shù)返回類型,是調(diào)用本身類型
? ? 2.also函數(shù)的 匿名函數(shù)里面持有的是it==調(diào)用本身
takeIf:str.takeIf{flag}
? ? 1.如果flag==true,則返回str本身,否則返回null
takeUnless:str.takeUnless{flag}
? ? 1.如果flag==true,則返回null,否則返回str本身,與takeIf相反
總結(jié):