什么 - >运算符意味着什么和grails中的用法?

Rez*_*aul 1 java grails groovy grails-orm grails-2.0

我是grails应用程序的新工作.我对这个 - > grails中的运算符感到困惑.谁能给我一个明确的概念呢?或者给我任何关于这方面的参考资料对我来说很容易.我已经在阅读在线文档和一些书籍,但我仍然对此运算符和用法感到困惑.

Jos*_*ore 9

这是Groovy闭包中的参数指示器.你可以在这里找到关于闭包的更多信息.

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

在第一个例子中(在注释中给出)你有一个被调用的闭包printSum,它有两个参数; a并且b:

def printSum = { a, b -> 
  print a+b 
}
Run Code Online (Sandbox Code Playgroud)

在第二个示例中(在注释中给出),您调用了一个命名条件,oldPublicationsLargerThan并且它将调用一个参数pageCount.

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


Wil*_*ill 7

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

闭包参数列表的语法可以粗略地转换为方法参数列表.

这是关闭:

def criteria = { a, b ->
  return a + b
}
Run Code Online (Sandbox Code Playgroud)

这是方法版本:

def criteria(a, b) {
  return a + b
}
Run Code Online (Sandbox Code Playgroud)

但是,闭包具有更多功能.

  • 你也可以有一个没有这个"细箭头"的闭包,第一个参数将被groovy自动命名为'it'. (3认同)