美文网首页
Kotlin在forEach中如何跳出循环和跳出当前循环体

Kotlin在forEach中如何跳出循环和跳出当前循环体

作者: JokerMk | 来源:发表于2019-06-18 20:21 被阅读0次

    Kotlin在forEach中如何跳出循环和跳出当前循环体

    数组的forEach中直接retrun

    fun main(args: Array<String>) {
        val arr = intArrayOf(1,2,3,4,5,6,7)
        arr.forEach { 
            if (it == 4) return
            println("value:$it") 
        }
        println("this is End")
    }
    

    那么输出结果是

    控制台输出结果
    可以看到程序程序在遍历到4的时候就退出了方法,而且this is End也没有打印,我若果只想在数组遍历到4的时候跳出forEach,forEeach后面的语句还继续执行,实现类似java中的continue,那么应该怎么做呢?

    continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环。

    实现代码:

    fun main(args: Array<String>) {
        val arr = intArrayOf(1,2,3,4,5,6,7)
        arr.forEach continuing@{
            if (it == 4) return@continuing
            println("value:$it")
        }
    
        println("this is End")
    
    }
    

    运行结果:
    可以看到在遍历到4的时候直接跳出了此次循环,假设当遍历到4的时候,想要直接跳出遍历循环,实现类似java中的break的作用,那么应该怎么做呢?

    实现代码:

    fun main(args: Array<String>) {
        val arr = intArrayOf(1,2,3,4,5,6,7)
        run breaking@{
            
            arr.forEach continuing@{
                if (it == 4) return@breaking
                println("value:$it")
            }
            
        }
    
        println("this is End")
    
    }
    

    运行结果:


    控制台输出结果

    可以看到的是在数据遍历到4的时候,直接就跳出了循环体,继续运行下面的代码,实现了在kotlin的forEach中类似java的break的效果。

    相关文章

      网友评论

          本文标题:Kotlin在forEach中如何跳出循环和跳出当前循环体

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