aa8*_*a8y 4 groovy closures loops for-loop
Groovy 中什么时候使用each闭包以及什么时候使用for循环。两者实际上都做同样的事情。
groovy:000> a = [1, 2, 3, 4]
===> [1, 2, 3, 4]
groovy:000> a.each {
groovy:001> println it
groovy:002> }
1
2
3
4
===> [1, 2, 3, 4]
groovy:000> for (it in a) {
groovy:001> println it
groovy:002> }
1
2
3
4
===> null
Run Code Online (Sandbox Code Playgroud)
闭包each返回列表。所以我可能可以使用它代替for循环,但反之亦然,对吗?
for 循环可能更快,内存效率更高,因为每个结构都是语法糖。但我无法想象它会真正产生影响的情况。
在我看来,唯一显着的区别是你不能在不抛出异常的情况下终止每个闭包。您可以使用break 来终止for 循环。
我确实认为每个结构读起来更惯用。
| 归档时间: |
|
| 查看次数: |
1856 次 |
| 最近记录: |