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 表达式没有接收者
}
}
}
}

最新文章

  1. BZOJ 1086: [SCOI2005]王室联邦
  2. lhgdialog: iframe页面里面的,确定,关闭、取消按钮的操作
  3. 用过的一个jquery插件实现转盘效果还不错手机兼容
  4. linux64位操作系统装32位jdk解决方法
  5. python 之编码问题详解
  6. flask环境配置
  7. 【英语】Bingo口语笔记(52) - sleep系列
  8. markdown插件学习
  9. text-overflow:ellipsis 的应用(转载)
  10. node.js使用经验记录
  11. 强大的修图app--美图秀秀
  12. BZOJ 2456: mode(新生必做的水题)
  13. Scrapy定时执行爬取任务与定时关闭任务
  14. java中this和super关键字的使用
  15. BSOJ 5603 -- 【SNOI2017】炸弹
  16. hdu 2955 Robberies (01背包)
  17. [CF1082E] Increasing Frequency
  18. 使用Let's Encrypted HPPTS你的网站
  19. javascript模块模式
  20. golang学习笔记---函数、方法和接口

热门文章

  1. 二〇一八-网易秋招面试解析(Java)
  2. import的本质
  3. Python概要介绍
  4. Excel 教程一
  5. Til the Cows Come Home(Dijkstra)
  6. 安装卸载JDK
  7. nodejs常用框架使用样例
  8. ppt打不开,显示发现文件中的内容有问题。可尝试修复此演示文稿
  9. Linux 安装python3.7
  10. BZOJ 3679 数字之积 数位DP