Scrivi stringhe multilinea in Go
Stringa in Go
String in Go è leggermente diverso dalle altre lingue. In Go, String
è una sequenza di uno o più caratteri in cui ogni carattere è indicato da uno o più set di caratteri nella codifica UTF-8
. Grazie a questa caratteristica, Go string
può anche avere un testo formato da un misto di molte lingue nel mondo. Possiamo rappresentare una stringa racchiudendo una parte di testo tra virgolette doppie ""
.
package main
import "fmt"
func main() {
wish := "We will get victory soon!!"
fmt.Println(wish)
}
Produzione:
We will get victory soon!!
Stringhe multilinea in Go
La scrittura di stringhe multilinea è necessaria quando si lavora con stringhe di grandi dimensioni come SQL, HTML o XML in Go. Se qualcuno ha un background in Python, potrebbe sapere che le virgolette doppie triple vengono utilizzate per le stringhe su più linee. In questo post, discuteremo varie tecniche per scrivere stringhe multilinea in Go.
Metodo hard-coded
Questo è l’approccio più semplice e ingenuo per risolvere il problema, ma è noioso in quanto abbiamo bisogno di linea separata di istruzioni Println()
per ogni nuova linea.
package main
import "fmt"
func main() {
fmt.Println("Printing ")
fmt.Println("multiline Strings ")
fmt.Println("in Go!!")
}
Produzione:
Printing
multiline Strings
in Go!!
Letterali stringa non elaborati
L’uso del carattere backquote (`) tratta le sequenze di escape come \n, \t
come una stringa letterale e questo ci permette di scrivere stringhe su più linee.
package main
import "fmt"
func main() {
multi_line := `Hey!! we
are going to
write multiline strings
in Go.
`
fmt.Printf("%s", multi_line)
}
Produzione:
Hey!! we
are going to
write multiline strings
in Go.
Valori letterali stringa interpretati
Se desideriamo utilizzare caratteri di escape come \n, \t
, dovremmo usare virgolette doppie per scrivere stringhe su più linee in 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)
}
Produzione:
Hey!! we
are going to
write multiline strings
in Go.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn