使用函数在Groovy中创建映射

时间:2015-12-11 09:31:29

标签: groovy

我试图了解以下Groovy语法是否正确:

String f() { return "Hello"}
String g() { return "World"} 

Map myMap = [
  a : f(),
  b : g(),
]

String x = myMap['a']
String y = myMap['b']

assert x == "Hello"
assert y == "World"

地图上的Groovy语言参考文档在这方面不明确:

http://docs.groovy-lang.org/latest/html/documentation/index.html#_maps

1 个答案:

答案 0 :(得分:1)

是的,这是对的。您的案例将在文档的第一个示例中介绍。

def colors = [red: '#FF0000', green: '#00FF00', blue: '#0000FF']

将语法看作是这样的:[value: expression]

ab成为字符串(值),并调用方法来计算表达式。