kotlin回調函數作為參數block: T.() -> Unit和block: () -> Unit的區別


區別:回調函數里面的this作用域不同,也就是this所指向的對象不同。

1. T.() -> Unit 作為參數  //回調函數里this作用域是 類型T的實例
public inline fun <T> T.extFunc(block: T.() -> Unit): T {
block()
return this
}

2.() -> Unit 作為參數  //回調函數里this作用域是 調用該函數所在的實例
public inline fun <T> T.extFunc(block: () -> Unit): T {
block()
return this
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM