我试图了解如何使用inline
修改正确。我了解一般情况,当我们内联 lambda 以防止过度分配时,如中所述docs.
我正在检查 kotlin stdlib 并发现_Strings.kt
下面这段代码:
@kotlin.internal.InlineOnly
public inline fun CharSequence.elementAtOrNull(index: Int): Char? {
return this.getOrNull(index)
}
使用背后的原因是什么inline
here?
这个特定的功能和其他一些功能kotlin-stdlib
被标记为@InlineOnly
因此它们不存在于实际的 stdlib 类文件中,并且仅可供 Kotlin 编译器内联它们。通过这种方式实现的目标是减少工件中的方法数量,这对于 Android 来说很重要。
除此之外,使用inline
没有 lambda 的函数对于具体化类型参数.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)