《Groovy入门经典》笔记
第4章 列表、映射和范围
在映射字面值中,如果某个元素的关键字是一个变量名,那么它将被解释成一个String值。
在下面的范例中:
def x = 1def y = 2def m = [x :y, y : x]
于是,m就是映射:
m = ['x' : 2, 'y' : 1]
Groovy User Guide的描述:
var field = 'fooVar';var value = 'barVar';$.post('/path/to/url', { field:value, 'fooString':'barString' });// Actual resultfield = barVarfooString = barString// Expected result foo = barVarfooString = barString// 正确的写法应为var field = 'fooVar';var value = 'barVar';var postData = {};postData[field] = value;postData['fooString'] = 'barString';$.post('/path/to/url', postData);
定义空映射:
def map = [:]
相当于Java代码:
Map map = new HashMap();
定义范围:
def r = 1..100
注意:
1.定义中没有[],如果定义时使用了[]即会定义成列表;
2.在操作列表时使用[],实际上是表示对getAt跟putAt的调用,与定义无关。