Comment écrire des chaînes de caractères multilignes dans Go
Chaîne dans le Go
La chaîne de caractères du go est légèrement différente de celle des autres langues. En go, String
est une séquence d’un ou plusieurs caractères où chaque caractère est désigné par un ou plusieurs jeux de caractères en codage UTF-8
. En raison de cette caractéristique, la chaîne
du go peut même avoir un texte formé à partir d’un mélange de plusieurs langues dans le monde. Nous pouvons représenter une chaîne de caractères en mettant un morceau de texte entre guillemets ""
.
package main
import "fmt"
func main() {
wish := "We will get victory soon!!"
fmt.Println(wish)
}
Production:
We will get victory soon!!
Chaînes multilignes dans Go
Il est nécessaire d’écrire des chaînes de plusieurs lignes tout en travaillant avec de grandes chaînes telles que SQL, HTML ou XML dans Go. Si quelqu’un est d’origine Python, il sait peut-être que des guillemets doubles triples sont utilisés pour les chaînes multilignes. Dans cet article, nous allons discuter des différentes techniques pour écrire des chaînes de caractères multilignes en Go.
Méthode de codage en dur
C’est l’approche la plus simple et la plus naïve pour résoudre le problème, mais elle est fastidieuse car nous devons aligner des déclarations Println()
distinctes pour chaque nouvelle ligne.
package main
import "fmt"
func main() {
fmt.Println("Printing ")
fmt.Println("multiline Strings ")
fmt.Println("in Go!!")
}
Production:
Printing
multiline Strings
in Go!!
Littéraux de la chaîne brute
L’utilisation du caractère entre guillemets (`) traite les séquences d’échappement telles que \n, \t
comme une chaîne littérale et cela nous permet d’écrire des chaînes de plusieurs lignes.
package main
import "fmt"
func main() {
multi_line := `Hey!! we
are going to
write multiline strings
in Go.
`
fmt.Printf("%s", multi_line)
}
Production:
Hey!! we
are going to
write multiline strings
in Go.
Chaînes littérales interprétées
Si nous souhaitons utiliser des caractères d’échappement comme \n, \t
, nous devons utiliser des guillemets doubles pour écrire des chaînes de caractères multilignes dans le 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)
}
Production:
Hey!! we
are going to
write multiline strings
in Go.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn