Wie schreibt man mehrzeilige Zeichenketten in Go
String
in Go
String in Go unterscheidet sich leicht von anderen Sprachen. In Go ist String
eine Folge von einem oder mehreren Zeichen, wobei jedes Zeichen durch einen oder mehrere Zeichensätze in UTF-8
-Kodierung bezeichnet wird. Aufgrund dieser Eigenschaft kann in Go String
sogar Text aus einer Mischung vieler Sprachen der Welt gebildet werden. Wir können Zeichenketten darstellen, indem wir ein Stück Text in doppelte Anführungszeichen ""
einschließen.
package main
import "fmt"
func main() {
wish := "We will get victory soon!!"
fmt.Println(wish)
}
Ausgabe:
We will get victory soon!!
Mehrzeilige Zeichenketten in Go
Beim Arbeiten mit großen Zeichenketten wie SQL, HTML oder XML in Go ist das Schreiben mehrzeiliger Zeichenketten erforderlich. Wenn jemand mit Python-Hintergrund arbeitet, weiß er vielleicht, dass dreifache doppelte Anführungszeichen für mehrzeilige Zeichenketten verwendet werden. In diesem Beitrag werden wir verschiedene Techniken zum Schreiben mehrzeiliger Zeichenketten in Go diskutieren.
Hart kodierte Methode
Dies ist der einfachste und naivste Ansatz, um das Problem zu lösen, aber er ist mühsam, da wir für jeden Zeilenumbruch separate Println()
-Anweisungen einfügen müssen.
package main
import "fmt"
func main() {
fmt.Println("Printing ")
fmt.Println("multiline Strings ")
fmt.Println("in Go!!")
}
Ausgabe:
Printing
multiline Strings
in Go!!
Rohe String-Literale
Die Verwendung des Backquote (`)-Zeichens behandelt Escape-Sequenzen wie \n, \t
als String-Literal, und dies erlaubt uns, mehrzeilige Strings zu schreiben.
package main
import "fmt"
func main() {
multi_line := `Hey!! we
are going to
write multiline strings
in Go.
`
fmt.Printf("%s", multi_line)
}
Ausgabe:
Hey!! we
are going to
write multiline strings
in Go.
Interpretierte Zeichenkettenliterale
Wenn wir Escape-Zeichen wie \n, \t
verwenden wollen, sollten wir doppelte Anführungszeichen verwenden, um mehrzeilige Zeichenketten in Go zu schreiben.
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)
}
Ausgabe:
Hey!! we
are going to
write multiline strings
in Go.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn