0
点赞
收藏
分享

微信扫一扫

Kotlin中标准函数let与泛型扩展函数

狗啃月亮_Rachel 2022-02-08 阅读 78
fun main() {
"yuknight".mLet {
it
true
"Ok"
}
123.mLet {
it
}

val str = "str".let {
it
}

}

//fun<I, O> 在函数中,声明两个泛型,函数类型,I输入参数,O函数返回值
//I.mLet 对I输入参数进行扩展,扩展函数名称是mLet,意味着所有的类型都可以调用此函数
//lambda:(I)->O (I输入参数)->O返回值
//:O 函数的返回值会根据用户的返回类型变化而变化
//lambda(this) I进行函数扩展,在整个扩展函数里面,this == I 自身
private inline fun <I, O> I.mLet(lambda: (I) -> O) = lambda(this)
/**
* private inline fun <I, O> I.mLet(lambda: (I) -> O): O {
* lambda(this)
* }
*/

//let 函数源码
/**
* public inline fun <T, R> T.let(block: (T) -> R): R {
* return block(this)
* }
*/
举报

相关推荐

kotlin扩展函数

0 条评论