Kotlin基础教程-内联函数
2017-06-07 13:20
183 查看
内联函数
关键字:inline
定义
内联和正常函数的区别不在于定义函数的异同点。定义的时候只需要加一个标识,就可以让正常函数变为内联函数。实际两者的区别是在实际执行时的处理机制上。内联是耗用性能低,比正常函数少了压栈和出栈的操作,是一种以空间换时间的方式。当函数体少,以及被频繁调用的函数才适合被定义为内联函数关键字:inline
inline fun lock<T>(lock: Lock,body: ()-> T): T { //... }
noinline
该关键字定义非内联函数,为啥还要专门这样定义。这是为了给内联函数传递函数参数时,为了标识这个函数非内联而添加的。inline fun foo(inlined: () -> Uint, @noinline notInlined: () -> Unit) { //... }
相关文章推荐
- Android 谷歌官方Kotlin语言入门教程(一)基础语法
- Kotlin基础教程-HelloWorld
- Kotlin基础教程-返回值和跳转
- Kotlin基础教程-接口
- Kotlin 基础教程之异常
- kotlin 官方学习教程之基础语法
- Kotlin基础教程-泛型
- Kotlin基础教程-包
- Kotlin基础教程-基本数据类型
- Kotlin基础教程-扩展
- Kotlin基础教程-基础语法
- Kotlin基础教程之Run,标签Label,函数Function-Type
- Kotlin基础教程之面向对象
- Kotlin基础教程-流程控制语句
- Kotlin基础教程之数据类型
- kotlin基础教程之类和继承
- Kotlin基础教程之伴生对象,getter,setter,内部,局部,匿名类,可变参数
- Kotlin基础教程之控制流(顺序,分支,循环)
- Kotlin基础教程-属性和字段
- Kotlin基础教程-数据对象