Groovy里的GString是immutable的,测试一下下面的代码输出
a = 1 quote = "${a}" println quote a = 2 println quote
上面的两次输出是一样的,都是1, 而不是期望的第一次是1,第二次是2
那有什么办法能快速解决的。当然是有的。
a = 1
quote = "${->a}"
println quote
a = 2
println quote
使用Closure就可以搞定这个问题。
【Note】Groovy里的Closure很是强大,应好好理解,善加使用,威力无比。