kotlin学习笔记-return、break、continue
这3个语法在js里也有,但在kotlin里,用法似乎完全不太一样
功能说明
- return 默认从最直接包围它的函数或者匿名函数返回。
- break 终止最直接包围它的循环。
- continue 继续下一次最直接包围它的循环。
标签
在说这3个语法之前,先说下标签
用途是 控制代码的执行流程,想跳哪里 就跳哪里
c语言里也有标签(使用的是 标签名:
定义标签,然后用 goto 标签名
来跳转到标签处)
在kotlin里 使用 标签名@
定义一个标签, 使用 return、break、continue 跳转到标签处
return
return的用法-返回一个值
这个用法其他编程语言也有
return的用法-提前退出
这个用法其他编程语言也有
return的用法-返回到标签处
感觉有些类似其他语言里的continue,用于跳过本次循环
下方的 lit@
表示定义了一个标签, 似乎c语言里也有这种类似的东西,是用goto来跳转的?记不太清了
上面的代码还可以简写
lambda 函数有个隐式标签,就是它的函数名,上面的代码可以简写成下面这样
return的用法-返回到标签处,返回一个值
也可以这样用,可以在满足条件的情况下,替换值
return的用法-返回到标签处
再来一个用法
break
break的用法-跳出循环
可以跳出本层循环
如果是嵌套多层的循环,可以 配合标签 来实现
break 跳出本层循环
要跳出本层循环,直接break就行
break 跳出多层循环
如果是嵌套多层的循环,想要跳出 ,就可以用 break配合标签 来实现
continue
continue的用法-跳过本次循环
continue 用于跳过当前循环的剩余部分,直接进入下一次循环
也可以搭配标签,跳过多层循环的剩余部分
continue 跳过单层循环,不执行本层循环后续的代码
continue 跳过多层循环,不执行后续的代码
break 和 continue 的区别
我认为如果把两者 比喻为一个人的话
那么 break
是那种,做事决绝,不留后路 的人 (结束本层循环)
而 continue
是 属于做人留一线,做事不那么决绝 的人 (只结束 本层循环的某次迭代 )
从下面2个例子,看看他们的细微差别
break 和 continue 的总结
只想结束本层循环的某个迭代,就用 continue,它可以让你继续
想结束本层循环, 就用 break ,它可以让你 休息、停止
通过他们的英文含义,就容易理解了