Java ->;grails中运算符的含义和用法?

Java ->;grails中运算符的含义和用法?,java,grails,groovy,gorm,grails-2.0,Java,Grails,Groovy,Gorm,Grails 2.0,我是grails应用程序的新手。我对grails中的->操作符感到困惑。 有谁能给我一个清晰的概念吗? 或者给我一些对我来说容易的参考资料。 我已经在阅读在线文档和一些书籍,但是我仍然对这个操作符和用法感到困惑。这是Groovy闭包中的参数指示器。你可以了解更多关于 ->是一个符号,表示Groovy中闭包的参数列表结束 在第一个示例(注释中给出)中,有一个名为printSum的闭包,它包含两个参数a和b: def printSum = { a, b -> print a+b }

我是grails应用程序的新手。我对grails中的->操作符感到困惑。 有谁能给我一个清晰的概念吗? 或者给我一些对我来说容易的参考资料。
我已经在阅读在线文档和一些书籍,但是我仍然对这个操作符和用法感到困惑。

这是Groovy闭包中的参数指示器。你可以了解更多关于

->
是一个符号,表示Groovy中闭包的参数列表结束

在第一个示例(注释中给出)中,有一个名为
printSum
的闭包,它包含两个参数<代码>a和
b

def printSum = { a, b -> 
  print a+b 
}
在第二个示例(注释中给出)中,您有一个名为
oldPublicationsLargerThan
的命名条件,它使用一个名为
pageCount
的参数

oldPublicationsLargerThan { pageCount -> 
  def now = new Date() 
  lt 'datePublished', now - 365 
  gt 'numberOfPages', pageCount 
} 

该细箭头是参数列表分隔符

闭包参数列表的语法可以大致转换为方法参数列表

以下是结束语:

def criteria = { a, b ->
  return a + b
}
这是方法版本:

def criteria(a, b) {
  return a + b
}

不过闭包有更多的功能。

阅读这里的def printSum={a,b->print a+b}表示a,b表示print a+b或其他什么?oldPublicationsLargerThan{pageCount->def now=new Date()lt'datePublished',now-365 gt'numberOfPages',pageCount}又是一个例子,但仍然很困惑。你能解释一下吗?我不明白还有什么别的办法可以说清楚。这就像为什么我们在方法声明中有
){
。谢谢你的答案。真的没用而且混乱你也可以有一个没有这个“细箭头”的闭包,第一个参数将被groovy自动命名为“It”。谢谢你的答案@will