卷曲支撑与方形支架

时间:2016-04-27 08:05:56

标签: grails groovy

我无法弄清楚Groovy / Grails中的卷曲支架和方括号之间的区别 示例:

[bookInstanceList:Book.list()]

和:

{
    subject blank: false
    content blank: false, maxSize: 2000
}  

任何人都能帮帮我吗? 谢谢

2 个答案:

答案 0 :(得分:2)

正如评论中指出的那样,第一个是Map,第二个是closure

它们在任何方面都不相同或相似。您似乎感到困惑,因为您认为closure是某种类型的名称值对。在这种情况下,它似乎是因为DSL的限制。

为了进一步了解如何处理此closure,您需要深入研究约束DSL,并了解它如何使用缺少方法和缺少属性等内容。这不是一个简单解释的简单主题。

答案 1 :(得分:1)

Groovy列表和地图:

首先是Map。 groovy中的[](方括号)用于制作列表或地图。

列表示例:

  • [] - 空列表
  • [1,2,3,4] - 整数值列表
  • ['Angular','Groovy','Java'] - 字符串列表
  • [1,2,[3,4],5] - 嵌套列表

地图示例:

  • [:] - 空地图。
  • [key:“value”] - 使用键和值映射

Groovy关闭:

第二个是groovy DSL。我们可以使用多种策略来创建DSL,但在Grails域约束块中使用了groovy闭包。您可以在此处找到有关DSL的更多详细信息

http://docs.groovy-lang.org/latest/html/documentation/core-domain-specific-languages.html