在groovy代码的示例中,我->
到处都可以找到运算符,但是groovy教程或本书似乎都没有提供关于这意味着什么的解释。
它用于将声明关闭的绑定的位置与实际代码分开,例如:
def myClosure = { x, y -> x + y }
前面的部分->
声明了闭包有两个名为的参数x
,y
而第二部分是闭包的代码。
您可以仅使用一个参数在闭包中忽略它,在这种情况下,it
假定变量:
[1, 2, 3, 4].each{ println it*2 }
但你也可以
[1, 2, 3, 4].each{ lol -> println lol*2 }
Scala和C#出于相同的目的使用=>,而->本来是指a-> b中的(* a).b,因此很容易被Groovy的奇怪选择弄糊涂。