美文网首页
Kotin内置标准函数let的原理

Kotin内置标准函数let的原理

作者: Afra55 | 来源:发表于2023-04-06 12:11 被阅读0次
  1. 标准let内置函数对泛型进行了let函数扩展,根据let函数源码,泛型的类型参数并未明确指定,因此所有类型任何地方都可以使用let函数;
  2. 所有类型.let{} 其实是一个匿名Lambda表达式,Lambda表达式的最后一行会被默认为返回值类型,因此最后一行是什么类型,let函数就返回什么类型;
  3. 源码:
// 函数有lambda表达式,高阶函数规范需要加 inline
// <T, R> T.let, T代表要为任何类型扩展出一个函数名let的函数,R代表Lambda表达式最后一行返回的数据
// 
@kotlin.internal.InlineOnly
public inline fun <T, R> T.let(block: (T) -> R): R {
    contract {
        callsInPlace(block, InvocationKind.EXACTLY_ONCE)
    }
    return block(this)
}

相关文章

网友评论

      本文标题:Kotin内置标准函数let的原理

      本文链接:https://www.haomeiwen.com/subject/cqxuddtx.html