The label does not denote a loop in forEach
这个是在kotlin中遍历集合时,使用标签的过程中,可能会遇到的小错误。
提示的字面上的信息,就是在forEach中这个标签不能表示为loop(也就是循环),错误事例如下:
list.forEach loop@{if (it == "外面还很黑") {continue @loop}}
这里使用continue,和break都会报错。使用return就会正常了,让我们看看源码:
/*** Performs the given [action] on each element.*/
@kotlin.internal.HidesMembers
public inline fun <T> Iterable<T>.forEach(action: (T) -> Unit): Unit {for (element in this) action(element)
}
很明显forEach是一个fun,并不是一个loop
那么相对应的,在for 循环中使用return 也同样会报错。错误代码如下:
loop@ for (i in 0..4) for (j in 5..9) {if (j == 8) {return@loop}}
这个时候编译器会给一个warn:Target label does not denote a function
改正:我们可以使用continue,或者break,看你的实际情况来定
官方讲解
Returns and Jumps
Kotlin has three structural jump expressions:
- return. By default returns from the nearest enclosing function or anonymous function.
- break. Terminates the nearest enclosing loop.
- continue. Proceeds to the next step of the nearest enclosing loop.
我是翻译二把刀,你们自己看吧
还想了解一下kotlin中的循环的,请走这边https://blog.csdn.net/u010844304/article/details/86295639
The label does not denote a loop in forEach相关推荐
- python loop until_Euphoria loop until 语法
loop...until 循环与while循环类似,除了loop...until 循环保证能执行至少一次 . 语法: loop...until 循环的语法是: loop do -- Statement ...
- ssis for循环容器_使用SSIS ForEach Loop容器以日期顺序处理文件
ssis for循环容器 One positive thing to come out of my recent project that involved rewriting one of the ...
- 纯原生组件化-模块化的探索
纯原生的组件化.模块化的一次小小的尝试,用到了如下几个新特性: shadown-DOM 对HTML标签结构的一个封装,真正意义上的组件,能保证 shadow-DOM 中的DOM元素不会被外界影响,内部 ...
- 2.6内核的配置与编译
首先对内核进行菜单配置, 代码: CODE: cd /usr/src/linux make menuconfig 代码成熟度选项, 代码: CODE: Code maturity level opti ...
- PostgreSQL学习手册(PL/pgSQL过程语言)【转】
原文http://www.cnblogs.com/stephen-liu74/archive/2012/06/06/2312759.html 一.概述: PL/pgSQL函数在第一次被调用时,其函 ...
- 0x00000000指令引用的内存不能为written_变量和内存访问
计算机世界有一个常识--所有的数据和指令必须经由内存才能进入CPU的寄存器进而被CPU使用,那么我们程序操作的主战场就是内存,内存操作也就顺理成章成为了程序中最高频的操作. 为了节目的效果,我们先来看 ...
- 在Java中如何从一个多层嵌套循环中直接跳出?
一.问题描述 最近发现一个有趣的问题,在Java中如何从一个多层嵌套循环中退出呢? 例如下面,有两层循环,break只能退出第一个for循环,不能直接跳出第二个for循环外面. public stat ...
- Uedit32高亮文件(加强)
替换根目录下 wordfile.txt / /L1"C/C++" C_LANG Line Comment = // Block Comment On = /* Block Comm ...
- java跳转kotlin页面_Kotlin:return与跳转
Kotlin有两种跳转:循环跳转(break与continue)和返回跳转(return). Label label语法:labelName@ label可以放在任何表达式之前,用来标记表达式.如lo ...
最新文章
- C Primer Plus 第10章 数组和指针 10.5 指针操作
- axure怎样24位bmp输出_平衡(非平衡)输入输出的无源变压器前级放大器
- 如何避免开发一款失败的产品?
- vagrant --- vagrant部署环境
- 利用ffmpeg来进行视频解码的完整示例代码
- pdf python定位_如何使用PyPDF2获取PDF定位
- 关于ORACLE数据传输加密的介绍
- mysql 表2符合表1,MySQL:表tbl_2_1_15已满
- 互联网移动在“云”端
- 工程介绍好处费性质_承包工程项目都要注意什么?怎么防止拖欠工程款
- java学习之路目录(已完结)
- element el-autocomplete组件 自定义传参的解决方法
- Java — 如何产生随机数(Random类)
- Golang 大杀器之性能剖析 PProf
- mac下发html邮件的方法
- 云计算技术,主要包含哪些关键技术?
- 小白股市扫盲系列--美联储加息减息对市场究竟有什么影响?
- 支持html5特性的浏览器,五大主流浏览器对CSS3和HTML5特性支持情况的详细清单
- 【笔记】html 图片映射 usemap(vue环境下、map、area、coords)
- C++实现鼠标手写+自绘按钮
热门文章
- 王通:站内搜索引擎的SEO策略
- MySQL主从复制-基于日志点配置
- 卡通冰材质的简单实现
- Jquery获取一段时间内所有对应的日期,并获取日期对应的星期几。
- linksys rv042配置client to gateway ***
- 来看Prada大秀吗?在元宇宙里那种!
- Java序列化 Serializable和Externalizable浅析
- 2021-10-03 小黑与挖矿木马程序的斗智斗勇
- 天谕手游服务器今日可创建账号数已达上限,天谕堪称网易2020头号手游?内测人数爆满,玩家直呼爷青回...
- 【Fix Bug】针对 Google Photos 返回的图片Uri,裁剪照片失败