Kotlin进阶实战
上QQ阅读APP看书,第一时间看更新

4.1.2 禁用内联——noinline

在Kotlin中可以使用noinline来修饰不需要内联的函数类型的参数。

下面的例子noinlineExample函数有两个参数,由于noinlineExample函数使用了inline,因此第一个参数默认使用了inline,而第二个参数使用了noinline。

将上述代码反编译成Java的代码之后:

发现使用noinline的Lambda表达式需要创建Function0对象。使用noinline的Lambda表达式其实就是一个普通的Lambda表达式。