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

Kotin内置标准函数let的原理

作者: 鸡蛋绝缘体 | 来源:发表于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