Comment écrire correctement des chaînes multilignes en Go ?
Bonjour à tous ! Je viens de commencer à apprendre Go après Python et j'ai rencontré un problème avec les longues chaînes. En Python, j'avais l'habitude d'utiliser les triples guillemets pour les chaînes multilignes, par exemple :
```python
text = """Ceci est une chaîne
multiligne en Python,
elle conserve les sauts de ligne."""
```
Mais en Go, je ne trouve pas d'équivalent. J'ai essayé d'écrire ceci :
```go
package main
import "fmt"
func main() {
text := "Ceci est une chaîne
continue sur une nouvelle ligne"
fmt.Println(text)
}
```
Et j'ai obtenu une erreur de compilation : `invalid syntax: unexpected newline in string literal`. Comment déclarer correctement une chaîne qui occupe plusieurs lignes dans le code ? Dois-je utiliser des caractères spéciaux ou des fonctions ? Je suis particulièrement intéressé par le cas où la chaîne contient du HTML, des requêtes SQL ou du JSON — il est peu pratique de les écrire sur une seule ligne.
J'ai essayé d'échapper le caractère `\n`, mais cela ne résout pas le problème de lisibilité. Existe-t-il en Go quelque chose comme un heredoc ou des raw string literals ? Merci d'avance pour votre aide !
No answers yet.
Connectez-vous pour laisser une réponse