美文网首页
Kotlin内联

Kotlin内联

作者: 小楠总 | 来源:发表于2020-12-12 19:49 被阅读0次
/**
 * 不声明inline的时候,不会被平铺,不会被优化
 */
fun test1(block: () -> Unit) {
    block()
}

/**
 * 声明inline的时候,会被平铺,但是inline的Lambda可以断外部函数
 */
inline fun test2(block: () -> Unit) {
    block()
}

/**
 * 声明inline的时候,会被平铺
 * 声明crossinline的时候,不允许inline的Lambda中断外部函数
 */
inline fun test3(crossinline block: () -> Unit) {
    block()
}

fun main(args: Array<String>) {
    test1 {
        println(1)
    }
    println(2)
    println("------------")

    test2 {
        println(1)
        // 在return的会把外层main函数返回掉了
        return
    }
    println(2)
    println("------------")

    test3 {
        println(1)
        // 声明crossinline的时候,不允许inline的Lambda中断外部函数
        // return
    }
    println(2)
    println("------------")
}

相关文章

  • kotlin的内联函数的使用

    kotlin的内联函数属于kotlin的高级特性了,也是不同于java的区别之一;至于为什么kotlin要使用内联...

  • Kotlin 内联函数 inline

    Kotlin 中新增了「内联函数」,内联函数起初是在 C++ 里面的。 那在 Kotlin 中加入内联函数,是有什...

  • Kotlin内联函数

    kotlin内联函数是什么? Kotlin里使用关键字 inline 来表示内联函数。其原理就是:在编译时期,把调...

  • Kotlin内联

  • Kotlin 基础精华篇

    Kotlin 基础精华篇Kotlin 内联函数let、with、run、apply、alsoKotlin 协程学习...

  • Kotlin 协程学习总结

    Kotlin 基础精华篇Kotlin 内联函数let、with、run、apply、alsoKotlin 协程学习...

  • Kotlin 内联函数let、with、run、apply、al

    Kotlin 基础精华篇Kotlin 内联函数let、with、run、apply、alsoKotlin 协程学习...

  • Kotlin内联类、内部类、嵌套类

    Kotlin内联类、内部类、嵌套类 在开始介绍Kotlin内联类、内部类、嵌套类之前,先简要回顾一下java中的内...

  • Kotlin内联函数

    Kotlin里使用关键 inline 来表示内联函数,那么到底什么是内联函数呢,内联函数有什么好处呢? 1. 什么...

  • Kotlin inline 内联函数

    引言 Kotlin引入了内联函数,但这并不是Kotlin独有的,早在C++中就有了内联函数这一概念,那究竟什么时内...

网友评论

      本文标题:Kotlin内联

      本文链接:https://www.haomeiwen.com/subject/ycsygktx.html