Cómo escribir cadenas multilíneas en Go
Cadena en Go
String in Go es ligeramente diferente de otros idiomas. En Go, String
es una secuencia de uno o más caracteres donde cada carácter es denotado por uno o más conjuntos de caracteres en la codificación UTF-8
. Debido a esta característica, la string
de Go puede incluso tener texto formado por una mezcla de muchos idiomas del mundo. Podemos representar la cadena encerrando un texto entre comillas dobles ""
.
package main
import "fmt"
func main() {
wish := "We will get victory soon!!"
fmt.Println(wish)
}
Producción :
We will get victory soon!!
Cadenas multilíneas en Go
Es necesario escribir cadenas de varias líneas mientras se trabaja con cadenas grandes como SQL, HTML o XML en Go. Si alguien es de origen python, puede saber que se usan comillas dobles triples para las cadenas de varias líneas. En este post, discutiremos varias técnicas para escribir cadenas de varias líneas en Go.
Método de código duro
Este es el enfoque más simple e ingenuo para resolver el problema, pero es tedioso ya que necesitamos separar las declaraciones Println()
para cada nueva línea.
package main
import "fmt"
func main() {
fmt.Println("Printing ")
fmt.Println("multiline Strings ")
fmt.Println("in Go!!")
}
Producción :
Printing
multiline Strings
in Go!!
Literales de cadena sin procesar
El uso de la comilla (`) de carácter trata las secuencias de escape como \n, \t
como una cadena literal y esto nos permite escribir cadenas de varias líneas.
package main
import "fmt"
func main() {
multi_line := `Hey!! we
are going to
write multiline strings
in Go.
`
fmt.Printf("%s", multi_line)
}
Producción :
Hey!! we
are going to
write multiline strings
in Go.
Literales de cadena interpretados
Si queremos usar caracteres de escape como \n, \t
, debemos usar comillas dobles para escribir cadenas de líneas múltiples en Go
.
package main
import "fmt"
func main() {
multi_line := "Hey!! we \n" +
"are going to \n" +
"write multiline strings\n" +
"in Go.\n"
fmt.Printf("%s", multi_line)
}
Producción :
Hey!! we
are going to
write multiline strings
in Go.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn