概览
inline: 声明在编译时,将函数的代码拷贝到调用的地方(内联)
noinline: 声明 inline 函数的形参中,不希望内联的 lambda
crossinline: 表明 inline 函数的形参中的 lambda 不能有 return
inline使用 inline 声明的函数,在编译时将会拷贝到调用的地方。
inline function定义一个sum函数计算两个数的和。
1234567fun main(args: Array<String>) { println(sum(1, 2))}fun sum(a: Int, b: Int): Int { return a + b}
反编译为 Java 代码:
12345678public static final void main(@NotNull String[] args) { int var1 = sum(1, 2); System.out.println(var1);}public static final int sum(int a, int b) { return a