首页文章正文

kotlin inline

kotlin ! 2023-09-27 14:50 310 墨鱼
kotlin !

kotlin inline

inline/noinline/crossinline/reified 内联,这个概念无需多说. kotlin中使用高阶函数在运行时会有一些性能损失:每一个函数都是一个对象,并且都会捕获一个闭包定义:用关键字inline修饰的函数,叫做内联函数作用:它们的函数体在编译器被嵌入每一个被调用的地方,减少额外生成匿名类和执行函数的开销举个具体的例子:比如

// Kotlin fun main(args: Array) { multiplyByTwo(5) } inline fun multiplyByTwo(num: Int) : Int { return num * 2 } 反编译得到的结果如下:// JKotlin中关于内联函数的一些理解分享01-04 inline函数(内联函数)从概念上讲是编译器使用函数实现的真实代码来替换每一次的函数调用,带来的最直接的好处就是

(-__-)b inline是作用在函数方法上面的,例如Kotlin的let方法public inline fun T.let(block: (T) -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) } retu操作符是我们日常Kotlin开发的利器,如果我们点进去看看源码,我们会发现这些操作符大多都会使用inline。inlinefun Iterable.filter(predicate: (T)->Boolean): List{val d

最近在做开发的工作中,意外发现了kotlin官方承认的一个内联类的bug。在理解这个bug产生的原因的过程中,我秉承着打破砂锅问到底的决心,竟然顺势学习了一波jvm字节码。收获颇丰,于是所以我们就知道了,在kotlin 中,因为出现了大量的高阶函数-- 「高阶函数是将函数用作参数或返回值的函数」使得越来越多的地方出现函数参数不断传递的现

后台-插件-广告管理-内容页尾部广告(手机)

标签: kotlin orm

发表评论

评论列表

灯蓝加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号