美文网首页
Kotlin基础-标签

Kotlin基础-标签

作者: 孙小磊 | 来源:发表于2017-06-04 21:28 被阅读0次

    关于标签

    在kotlin中使用过标识符跟@符号来定义一个标签,使用@符号后面跟标识符来引用一个标签
    在kotlin中每一个函数都与一个或多个地址对应,而每个变迁也是与一个或多个地址对应,所以函数本身就是一个标签
    由于匿名还属没有函数名,那么我们可以自定义一个标签来指向这个函数地址

    This表达式

    在Kotlin,有时候需要调用自身的函数或者变量,会用到this表达式
    1、在类的成员中,this指的是该类的当前对象
    2、在扩展函数或者带接受者的函数字面值中,this表示在点左侧传递的接收者参数
    3、如果this没有限定符,它指的是最内层的包含它的作用域。要引用其他作用域中的this,请使用 标签限定符

    关于标签的指向:

    下面会用this演示标签的指向:



    调用


    当我们在调用ThisInnerClasstest()函数的时,会调用foo的扩展函数
    foo函数中 我们将a指向ThisClass ,b指向ThisInnerClassb1指向了ThisInnerClass的变量messagec1只想扩展函数foo
    从打印结果我们可以看出:
    aThisClass的地址,
    bThisInnerClass的地址
    b1指向的是ThisInnerClass对象的变量message
    c1指向的是函数foo点左侧的接收者参数
    而c是当前作用域的对象的值,即同foo函数
    关于标签处返回 return标签

    上面说到每个函数既是标签
    当我们return@forEach的时候那么我们就会推出当前循环,打印结果如下


    而我们return@returnTest的时候,作用于就发生了改变,return的是returnTest函数,所以打印的结果如下
    关于标签出跳出 break 和continue

    当我们在做循环的时候 如果break跟标签的话,那么他就会指向相应的循环
    如下:


    我们在break跟@loopInner 指向的是内层循环,跳出的是内层循环,so 结果如下:

    而当我们break跟外层循环标签时,如下:

    他跳出的就是指向的外层循环,结果如下:


    相关文章

      网友评论

          本文标题:Kotlin基础-标签

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