這篇“Kotlin中雙冒號(hào)怎么使用”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Kotlin中雙冒號(hào)怎么使用”文章吧。
在阜南等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),阜南網(wǎng)站建設(shè)費(fèi)用合理。
Kotlin 中 雙冒號(hào)操作符 表示把一個(gè)方法當(dāng)做一個(gè)參數(shù),傳遞到另一個(gè)方法中進(jìn)行使用,通俗的來(lái)講就是引用一個(gè)方法。先來(lái)看一下例子:
fun main(args: Array
/** * @param str1
參數(shù)1 * @param str2
參數(shù)2 */fun getResult(str1: String, str2: String): String = "result is {$str1 , $str2}"
/** * @param p1
參數(shù)1 * @param p2
參數(shù)2 * @param method 方法名稱 */fun lock(p1: String, p2: String, method: (str1: String, str2: String) -> String): String { return method(p1, p2)}
這里需要注意的是,lock 函數(shù) 的第三個(gè)參數(shù)傳入 method 時(shí),要確定參數(shù)個(gè)數(shù)、類型、返回值都和其形參一致。
輸出結(jié)果:
result is {param1 , param2}
如果我們需要調(diào)用其他 Class 中的某一個(gè)方法是:
寫(xiě)法為:
fun main(args: Array
我們?cè)?Class 中的某個(gè)方法中使用雙冒號(hào)調(diào)用當(dāng)前 Class 的內(nèi)部方法時(shí)調(diào)動(dòng)方式為:
class Test1 { fun isOdd(x: Int) = x % 2 != 0 fun test() { var list = listOf(1, 2, 3, 4, 5) println(list.filter(this::isOdd)) }}
一般情況,我們調(diào)用當(dāng)前類的方法 this 都是可省略的,這里之所以不可省略的原因是
為了防止作用域混淆 , :: 調(diào)用的函數(shù)如果是類的成員函數(shù)或者是擴(kuò)展函數(shù),必須使用限定符,比如this
如果把 isOdd 寫(xiě)到 class 外部 (全局) 這里也是可以省略限定符。
以上就是關(guān)于“Kotlin中雙冒號(hào)怎么使用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。