创建闭包和使用闭包的方式如下:
1.直接把闭包作为参数传递
map = ['a':1, 'b':2]
map.each{key, value -> map[key] = value * 2}
print map
——['a':2, 'b':4]
2.把闭包对象赋值给变量
doubler = {key, value -> map[key] = value * 2}
map.each(doubler)
print map
——['a':4, 'b':8]
3.reference.&操作符用来引用方法名称为一个闭包
def doubleMethod(entry){
map[entry.key] = entry.value * 2
}
doubler = this.&doubleMethod
map.each(doubler)
print map
——['a':8, 'b':16]