#3 kotlin for语句及标签

fun main() {
    
    // outer@ 是一个标签 可以取任何名称
    outer@ for (row in 1..3) {
        println("row: $row")
        for (column in 1..3) {
            if (row == 2 && column == 2) {
              println()
                continue@outer    // @outer 对应上面的 outer@
            }
            print("$column")      
        }
        println()
    }
}

打印结构:

row: 1
123
row: 2
1
row: 3
123

即当 row == 2 && column == 2 时直接跳到了标签的位置。

对比一下不使用标签的情况

fun main() {
    
   for (row in 1..3) {
        println("row2: $row")
        for (column in 1..3) {
            if (row == 2 && column == 2) {
                println()
                continue
            }
            print("$column")      
        }
        println()
    }
}

打印结果:

row2: 1
123
row2: 2
1
3 // 此处因为没有使用标签进行跳转 内部循环继续执行完
row2: 3
123

知识点:

  • 1..3 产生一个range
  • for语句中使用标签 labelName@ ... continue@labelName, 这个类似于C语言中的 goto 语句进行标记
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,859评论 2 9
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,505评论 0 13
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,068评论 0 0
  • VBA订制工具栏 http://club.excelhome.net/thread-1047254-1-1.htm...
    大海一滴写字的地方阅读 2,273评论 0 0
  • 3.2 执行控制 3.2 执行控制 Java使用了C的全部控制语句,所以假期您以前用C或C++编程,其中大多数都应...
    5e0g阅读 352评论 0 2