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,那么应该怎么做呢?

二、实现类似java中的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的作用,那么应该怎么做呢?

三、实现类似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的效果。

猜你喜欢

转载自blog.csdn.net/weixin_42600398/article/details/123464255