在查看GStrings中的变量替换示例时,我注意到了两种不同的语法。这可以在这里看到:Groovy Templates
这是一个例子:
def text = 'Dear "$firstname $lastname",\nSo nice to meet you in <% print city %>.\nSee you in ${month},\n${signed}'
当你有一个表达式时,看起来$ {variable}更常用,但是当你只有一个变量时会使用$ variable,但即使在这里它们也会与$ firstname和$ {month}混合使用。当你有一个变量而不是一个表达式时,是否有理由以这种或那种方式做到这一点,或者它无关紧要?
答案 0 :(得分:12)
没关系...
正如您所说,如果您有"${name.toUpperCase()}"
,"${number}th"
或"${list[0]}"
这样的表达式,那么它必须在括号内,但"${name}"
和{{1}是一样的。
实际上,只要简单的属性访问,您就可以省略大括号,即:"$name"
可以说添加大括号可以让你的字符串模板更容易阅读,但这是个人偏好的事情。