Groovy每个方法/闭包

时间:2012-04-13 09:56:38

标签: groovy closures

使用

之间有什么区别
teams.each(){ team->
//iterate through each team
}

teams.each { team->
//iterate through each team
}

请注意,在第一个之后,每个之后和关闭之前都有一个支架。我们正在对我们的应用程序进行一些负载测试,并注意到当我们使用第一个时,有一些线程正在等待此调用。但在第二种情况下,一切顺利。

我很想知道这里的区别是什么。

1 个答案:

答案 0 :(得分:4)

没什么,他们是一回事。在Groovy中,如果函数的最后一个参数是Closure,那么它可以在大括号外发生,例如:

[1,2,3].inject( 0 ) { acc, it -> acc + it }

[1,2,3].inject( 0, { acc, it-> acc + it } )

是一回事。编写groovy的常用方法是错过示例中的大括号,或者将闭包放在上面inject示例中的大括号之外