我在Groovy中变得非常困惑.何时使用StringsGroovy中的内容?
1)单行情 - ' '
2)双行情 - " "
3)三行情 -'''
我的代码:
println("Tilak Rox")
println('Tilak Rox')
println('''Tilak Rox''')
Run Code Online (Sandbox Code Playgroud)
所有都倾向于产生相同的结果. 什么时候用?
Sea*_*ull 12
我会更加困惑你,说,你也可以使用斜杠/,dolar-slash $/和三重双引号""",结果相同.=)
那么,有什么区别:
GString,它允许字符串插值.即你可以在其中嵌入表达式:println("${40 + 5}")打印45,同时println('${ 40 + 5}')将产生${ 40 + 5}.这个表达式可能非常复杂,可以引用变量或调用方法./和Dollar-slashy $/字符串可用于帮助正则表达式.它们对'\'和'/'有特殊的转义规则.正如@tim指出的那样,有一个很好的官方文档,解释了逃避规则和包含示例的细微差别.
很可能你不需要经常使用多行/斜线字符串,因为你在非常特殊的场景中使用它们.但是当你这样做时,它们会对你的代码的可读性产生巨大的影响!
单引号'用于基本字符串
双引号"用于模板化字符串,即:
def a = 'tim'
assert "Hi $a" == 'Hi tim'
Run Code Online (Sandbox Code Playgroud)
三单引号'''用于多行基本字符串
三双"""引号用于多行模板化字符串
还有/hello $a/模板化的斜线字符串
$/hello $a/$以及多行和模板化的美元斜线字符串