Java ->;grails中运算符的含义和用法?
我是grails应用程序的新手。我对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 }
我已经在阅读在线文档和一些书籍,但是我仍然对这个操作符和用法感到困惑。这是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