kotlin中this 表达式
2024-09-05 03:32:49
this表达式,可以表示当前函数的接收者,在类的成员函数中,this 指向这个类的当前对象实例,在扩展函数中或带有接收者数字面值,this代表调用函数时,在点号左侧传递的接收者参数
如果this没有限定符,那么它指向包含当前代码的最内层范围.,如果想指向其他范围的内的this,需要使用标签限定符
为了范围最外层范围的如类内的this,需要使用this@label,其中@label是一个标签,代表我们想要访问的this所属的范围
class A { //隐含标签@A
inner class B {//隐含标签@B
fun Int.foo() {
val out = this@A //指向A的this
val inn = this@B //指向B的this
val i = this //指向foo函数的接收者,一个int值
val i1 = this@foo //指向foo函数的接收者,一个int值
var f = lambda@ fun String.() {
val d = this//指向f的接收者
}
val fun2 = { s: String ->
val d = this//foo函数接收者,因为包含当前代码的lambda 表达式没有接收者
}
}
}
}
最新文章
- BZOJ 1086: [SCOI2005]王室联邦
- lhgdialog: iframe页面里面的,确定,关闭、取消按钮的操作
- 用过的一个jquery插件实现转盘效果还不错手机兼容
- linux64位操作系统装32位jdk解决方法
- python 之编码问题详解
- flask环境配置
- 【英语】Bingo口语笔记(52) - sleep系列
- markdown插件学习
- text-overflow:ellipsis 的应用(转载)
- node.js使用经验记录
- 强大的修图app--美图秀秀
- BZOJ 2456: mode(新生必做的水题)
- Scrapy定时执行爬取任务与定时关闭任务
- java中this和super关键字的使用
- BSOJ 5603 -- 【SNOI2017】炸弹
- hdu 2955 Robberies (01背包)
- [CF1082E] Increasing Frequency
- 使用Let's Encrypted HPPTS你的网站
- javascript模块模式
- golang学习笔记---函数、方法和接口