groovy:在方法调用上使用括号还是不?

时间:2011-02-09 02:07:48

标签: groovy

这是一个相当笼统的问题,关于人们是否应该在带参数的方法调用上使用括号。 即。

def someFunc(def p) {
...
}

然后打电话:

someFunc "abc"

... VS

someFunc("abc")

这只是一致性问题,还是每个都有特定用例?

3 个答案:

答案 0 :(得分:18)

这主要是一致性和可读性的问题,但请注意,Groovy并不总是让你省略括号。首先,您不能在嵌套方法调用中省略括号:

def foo(n) { n }
println foo 1 // won't work

请参阅Omitting parentheses中标题为“Style guide”的部分。

答案 1 :(得分:3)

没有必须删除它们的特定情况,您可以随时使用它们。让他们离开是更漂亮的 在某些情况下你不能这样做(你可能会混淆list / map参数和下标运算符,例如嵌套调用,或者当语句是赋值时),但一般规则是最外面的调用可以有如果没有歧义,则不加括号 (删除了几行,因为我刚刚收到有关该信息的帖子的通知) Groovy 1.8将允许更多的情况省略括号,你可以在
检查出来 http://groovyconsole.appspot.com/script/355001

答案 2 :(得分:1)

"an empty pair of parentheses is just useless syntactical noise!"

在我看来,他们鼓励你在服务于某个目的时使用括号,但在它们只是“噪音”时省略它们