美文网首页
标签与跳转

标签与跳转

作者: 一江碎月 | 来源:发表于2018-08-05 17:02 被阅读0次

标签

kt 中任何表达式都可以用标签(label)来标记。

定义与引用

  1. 定义时的格式为:标签名后跟 @ 符号,例如:abc@fooBar@都是有效的标签。

  2. 引用的格式为:@ 后跟标签名

loop@ for (i in 1..100) {
    for (j in 1..100) {
        if (……) break@loop
    }
}
  1. 为调用函数的语句定义标签时,标签需要定义在方法后。如果没有显式指定标签,则默认的标签名是方法名

    fun main(args: Array<String>) {
        val p = listOf("a", "b", "c")
        test outer@ {
            p.forEach {
                if (it == "b") return@outer
                println(it)
            }
        }
        println("end")
    }
    
    inline fun test(t: (Int) -> Unit) {
        t(22)
    }
    

上述代码在遍历到 b 时,会跳出 test 方法。下面是不同的 return 时代码的输出

语句 输出结果 说明
return@outer a、end 结束 test 函数
return@forEach a、c、end 类似于 continue,进行下一个元素
return a return 结束离其最近的一个 fun

注意:这里的 test 必须定义成 inline 函数,否则不能直接使用 return。


跳转

kt 中的跳转语句有三种: return,break,continue

return

结束一个函数。其只能结束离它最近的 fun。

  1. return 后有标签时,会结束标签对应的函数。

  2. 如果 return 后的标签是一个循环函数(如 forEach,filter),相当于 continue。

break 与 continue

功能与 Java 中一样。只不过在 forEach 等循环函数中的时候,没有办法使用。

  1. 可以使用 return+标签 代替 continue。

  2. 使用 run 函数,并对 run 函数的标签进行 return 来代替 break。

fun main(args: Array<String>) {
    val s = arrayListOf(12, 34,56)

    println("continue")
    s.forEach test@{
        if (it == 34) return@test
        println(it)
    }
    println("break")
    run {
        s.forEach{
            if(it == 34) return@run
            println(it)
        }
    }
}

在 break 语句后只会输出 12,因为 return@run 表示结束 run 函数,所以对于 forEach 来说,相当于 break。

相关文章

  • 标签与跳转

    标签 kt 中任何表达式都可以用标签(label)来标记。 定义与引用 定义时的格式为:标签名后跟 @ 符号,例如...

  • 01-HTML基础-标签

    基础标签 a标签 什么是a标签? a标签的作用:就是同于控制页面与页面之间跳转的 a标签的格式: a标签中的tar...

  • React Native中页面跳转、传值与回调

    React Native中页面跳转、传值与回调 标签(空格分隔): React React Native中页面跳转...

  • react 路由 2

    一.路由的跳转 1.标签跳转 在需要跳转的地方使用Link标签进行跳转 注意:记得引入 import {Link}...

  • HTML学习笔记第四天

    a标签综合练习 a标签的作用:用于控制页面与页面之间跳转的; 一、回顾a标签 二、Base标签的使用需求假设:假如...

  • html

    Tag : 1. 百度 标签跳转到网页 2. 主页 标签跳转到本地 3. 本页面位置1 标签跳转到当前...

  • vue 页面跳转的两种方式

    1,标签跳转 2,点击事件跳转

  • a标签的使用

    什么是a标签 a标签的作用:是用于控制页面与页面之间跳转的, a标签的格式: 需要给用户查看的内容 例 a标签不...

  • HTML-a标签、base标签

    什么是a标签呢? a标签的作用:就是用于控制页面与页面之间跳转的 a标签的格式: 需要给用户点击查看的内容 a标签...

  • HTML常用标签

    I:a标签的用法 a标签的作用: 1、跳转外部页面 2、跳转内部锚点 3、跳转电话、邮箱等功能 a标签常用到的属性...

网友评论

      本文标题:标签与跳转

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