使用
之间有什么区别teams.each(){ team->
//iterate through each team
}
和
teams.each { team->
//iterate through each team
}
请注意,在第一个之后,每个之后和关闭之前都有一个支架。我们正在对我们的应用程序进行一些负载测试,并注意到当我们使用第一个时,有一些线程正在等待此调用。但在第二种情况下,一切顺利。
我很想知道这里的区别是什么。
答案 0 :(得分:4)
没什么,他们是一回事。在Groovy中,如果函数的最后一个参数是Closure,那么它可以在大括号外发生,例如:
[1,2,3].inject( 0 ) { acc, it -> acc + it }
和
[1,2,3].inject( 0, { acc, it-> acc + it } )
是一回事。编写groovy的常用方法是错过示例中的大括号,或者将闭包放在上面inject
示例中的大括号之外