内联函数可以将使用Lambda表达式带来的运行时开销完全消除。它的工作原理并不复杂,就是Kotlin编译器会将内联函数中的代码在编译的时候自动替换到调用它的地方,这样也就不存在运行时的开销了。
定义内联函数很简单,只需要在定义高阶函数时加上inline关键字的声明即可
inline fun num1AndNum2(num1: Int, num2: Int, operation: (Int, Int) -> Int): Int {
val result = operation(num1, num2)
return result
}
网友评论