Kotlin inline 内联函数
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin inline 内联函数相关的知识,希望对你有一定的参考价值。
什么时候用到内联
在方法参数中包含有 lambda的时候
内联的作用是什么
提高性能 我们废话不多说直接上代码
不加内联
import java.util.*
fun main()
inlineTest() result, code ->
println("resout:$result code:$code")
fun inlineTest(res: (String, Int) -> Unit)
res("错了错了", 404)
查看字节码
查看编译出来的字节码 我们可以知道他被包装成了
Function2 对象 然后又进行的一系列运算。过程更加复杂了
加上内联
重新用上述方式查看字节码
神奇的事情发生了。代码更加的简洁。效率也随之提升了。
PS:加不加效果都一样输出
resout:错了错了 code:404
参考:
Kotlin的inline内联函数_LeoHoFly的博客-CSDN博客_kotlin内联外联函数
【2021最新版Kotlin教程】Android Kotlin从入门到进阶全套教程(全网最完善kotlin教程)_哔哩哔哩_bilibili
以上是关于Kotlin inline 内联函数的主要内容,如果未能解决你的问题,请参考以下文章
一次性搞懂Kotlin的内联函数--inline,noinline和crossinline
Kotlin:你必须要知道的 inline-noinline-crossinline
kotlin内联(inline)函数中参数默认值报VerifyError: Bad local variable type错误的解决办法
kotlin内联(inline)函数中参数默认值报VerifyError: Bad local variable type错误的解决办法
kotlin内联(inline)函数中参数默认值报VerifyError: Bad local variable type错误的解决办法