Kotlin的一些问题
来源:互联网 发布:网络非法赌博 编辑:程序博客网 时间:2024/06/06 08:25
一、关于匿名函数的一些问题
1:inline fun String.testLambda(action:String.()->Unit)= action()2:inline fun String.testLambda2(action:Context.()->Unit)=action()3:inline fun String.testLambda3(action:()->Unit)=action()
针对String,扩展了三个函数,其中1,3可以通过,2无法通过。方法2需要传入一个content才能通过,如下
inline fun String.testLambda2(context: Context,action:Context.()->Unit)=action(context)
对三个方法执行测试
"aaa".testLambda { error { this } } "aaa".testLambda2(this) { error { this } } "aaa".testLambda3{ error { this } } 输出 aaa com.xly.kotlinupdate.MainActivity@3d1bc137 com.xly.kotlinupdate.MainActivity@3d1bc137
结论:
1、xxx.()这个匿名函数需要在调用匿名函数时传入一个xxx对象
2、当扩展类型,和xxx一致的时候,可以直接省略
3、普通匿名函数相当于没有类型传入,所以不用传任何参数。
4、通过数据输出,可以看出在函数调用的时候可以通过this直接得到持有的xxx对象。
总结:这种方式,在anko的dsl中自定义view中有体现。
inline fun ViewManager.customizeView(theme: Int = 0, init: CustomizeView.() -> Unit) = ankoView({ CustomizeView(it) }, theme, init)
阅读全文
0 0
- Kotlin的一些问题
- kotlin的一些学习和使用时遇到的问题
- 记录一些kotlin的用法
- Android Kotlin遇到的问题
- 研究学习Kotlin的一些方法
- Kotlin和Swift的一些异同
- 研究学习Kotlin的一些方法
- Kotlin 的一些实用小技巧
- 使用Kotlin开发Android遇到的问题
- 使用 kotlin 开发 android 遇到的问题
- Kotlin一些基本语法
- 关于 Kotlin 的一些小知识的总结
- [饼干]Kotlin Trick 001-省略一些重复的工作
- Kotlin 语法上的一些亮眼操作
- kotlin学习的一些学习资源,你需要收藏了
- 运用Kotlin开发Android应用的一些技巧
- 用kotlin写了一些android常用的一些工具类
- Kotlin Android开发一些心得
- 开始之前
- java循环小Demo
- 检查 Logic Java 课程最近一次考试。如果有成绩到达80分以上者,则显示分数排在前5名学员的学号和分数
- 算法之费氏序列
- express cros post 跨域
- Kotlin的一些问题
- SuperCluster 在IO domain上配置数据库
- web测试方法总结
- 机器学习中的梯度下降法总结
- java多线程-Semaphore信号量使用 介绍 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源
- fseek()和随机存取I/O
- ubuntu16.04中打开qt软件后,进程显示己经打开,但主界面没有显示
- 肖秀荣8套卷2018pdf下载|2018肖秀荣冲刺8套卷pdf下载电子版
- GridView 控件无法居中问题的完美解决