Como Escrever strings Multilíngües em Go
String
em Go
String em Go é ligeiramente diferente de outros idiomas. Em Go, String
é uma seqüência de um ou mais caracteres onde cada caractere é denotado por um ou mais conjuntos de caracteres na codificação UTF-8
. Devido a esta característica, Go string
pode até mesmo ter texto formado a partir de uma mistura de muitos idiomas no mundo. Podemos representar uma string ao anexar um texto entre aspas duplas ""
.
package main
import "fmt"
func main() {
wish := "We will get victory soon!!"
fmt.Println(wish)
}
Resultado:
We will get victory soon!!
Strings Multilíngües em Go
A escrita de strings de várias linhas é necessária enquanto se trabalha com strings grandes como SQL, HTML ou XML in Go. Se alguém é de fundo Python, pode saber que são usadas aspas triplas duplas para strings multi-linhas. Neste post, discutiremos várias técnicas para escrever strings multi-linhas em Go.
Método Hard-Coded
Esta é a abordagem mais simples e ingênua para resolver o problema, mas é entediante, pois é necessário alinhar as declarações Println()
separadas para cada nova linha.
package main
import "fmt"
func main() {
fmt.Println("Printing ")
fmt.Println("multiline Strings ")
fmt.Println("in Go!!")
}
Resultado:
Printing
multiline Strings
in Go!!
Literais de string crus
O uso de caracteres de contra-bucle (backquote `) trata seqüências de fuga como \n, \t
como uma string literal e isto nos permite escrever seqüências de várias linhas.
package main
import "fmt"
func main() {
multi_line := `Hey!! we
are going to
write multiline strings
in Go.
`
fmt.Printf("%s", multi_line)
}
Resultado:
Hey!! we
are going to
write multiline strings
in Go.
Literais de String Interpretadas
Se desejarmos utilizar caracteres de escape como \n, \t
, devemos utilizar citações duplas para escrever strings com várias linhas em 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)
}
Resultado:
Hey!! we
are going to
write multiline strings
in Go.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn