Groovy字符串变量替换的区别

6

当查看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}。 当你只有一个变量而不是一个表达式时,使用一种方式还是另一种方式有理由吗?或者无论如何都没有关系?

1个回答

14

无论...

正如你所说,如果你有一个像"${name.toUpperCase()}""${number}th""${list[0]}"这样的表达式,那么它必须在大括号内,但是"${name}""$name"是相同的。

确实,只要它是简单的属性访问,你就可以省略大括号,例如:"Hello $person.username"

可以说,添加大括号可以使您的字符串模板更易于阅读,但这是个人喜好问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接