返回介绍

5. 省略括号

发布于 2025-01-04 00:44:55 字数 602 浏览 0 评论 0 收藏 0

对于顶级表达式,Groovy 允许省去括号,比如 println 命令:

println "Hello"
method a, b

对比一下之前的用法:

println("Hello")
method(a, b)

当闭包成为方法调用的最后一个参数时,比如在使用 Groovy 的 each{} 迭代机制时,你可以将闭包放到括号对外面,甚至将括号对去除。

list.each( { println it } )
list.each(){ println it }
list.each  { println it }

一般往往推荐采用第三种方法,它显得更自然一些。从语法层面上来看,内容为空的括号对是一种无用的垃圾。

然而,在有些情况下,Groovy 是不允许去除括号的。遇到顶级的表达式,自然可以忽略括号,但对于内嵌的方法调用或在赋值语句的右侧,则是不允许忽略括号的。

def foo(n) { n }

println foo 1 // 不起作用   
def m = foo 1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文