Groovy Strings
Se representa con comillas dobles: SOPORTA SUSTITUCIONES
Ej.: "Cadenas con comillas dobles"
Si se utilizan comillas dobles, no se necesita escapar las comillas simples.:
def doubleQuote = "Double quote string let's go"
Resultado: Double quote string let's go
Se representa con comillas simples: NO SOPORTA SUSTITUCIONES
Ej.: 'Cadena simple'
Si se utilizan comillas simples no se necesita escapar las comillas dobles:
def singleQuote = 'Single quote string to "demo".'
Resultado: Single quote string to "demo".
Ideal para escribir texto con varias líneas
La multilínea GString soporta sustituciones:
def nombre="carlos"
"""
bienvenido: '"${nombre}"'
segunda línea
"""
Resultado:
bienvenido: '"carlos"'
segunda línea
La multilínea Java string no soporta sustituciones:
def nombre="carlos"
'''
bienvenido: '"${nombre}"'
segunda línea
'''
Resultado:
bienvenido: '"carlos"'
segunda línea
Son ideales para las regexp porque no hay necesidad de escapar \ (backslash)
</p>
los interpreta como el cierre de la cadena.def color = 'azul'
def interpolatedSlashy = /un carro \ "'${color}'" y otro
verde./
Resultado: un carro \ "'azul'" y otro verde.
No hay necesidad de escapar $ ni / (forward slash) dentro de la cadena.
Es útil para expresiones regulares que no pueden ser representadas con /slashy strings/
porque contienen el símbolo /
.
GString, JavaString, Slashy String, Dollar String, Strings simples y multilinea: Todos tienen que escapar caracteres especiales, la diferencia entre ellos es que por defecto escapan algunos caracteres para evitar la necesidad de escaparlos.
Ej.:
def str = "un caracter especial \$ escapado con backslash"
Resultado: un caracter especial $ escapado con backslash
Se puede utilizar backslash al final de cada línea para organizar una cadena.
Ejemplo multilinea con Backslash (no inserta retornos de línea en la cadena como lo hace multilínea):
def str = 'This is\
a sample with\
backslash'
assert "This isa sample withbackslash" == str