【Groovy】GString是immutable的

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很是强大,应好好理解,善加使用,威力无比。

原文地址:https://www.cnblogs.com/buhaiqing/p/2877938.html