Comment écrire des chaînes de caractères multilignes dans Go

Suraj Joshi 30 janvier 2023
  1. Chaîne dans le Go
  2. Chaînes multilignes dans Go
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.
Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Article connexe - Go String