Avatar ·

Was ist der Unterschied zwischen Backticks (``) und doppelten Anführungszeichen ("") in Go?

Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und mir ist aufgefallen, dass Strings auf zwei Arten deklariert werden können: mit doppelten Anführungszeichen und mit Backticks. Zum Beispiel:\n\n```go\nstr1 := "Привет, мир!"\nstr2 := `Привет, мир!`\n```\n\nAuf den ersten Blick gibt es keinen Unterschied – beide Varianten funktionieren. Aber als ich versuchte, einen mehrzeiligen String mit doppelten Anführungszeichen zu erstellen, bekam ich einen Kompilierungsfehler. Mit Backticks funktioniert es dagegen:\n\n```go\n// Fehler!\n// str3 := "Строка\n// на две строки"\n\n// Funktioniert\nstr4 := `Строка\nна две строки`\n```\n\nAußerdem ist mir aufgefallen, dass innerhalb von doppelten Anführungszeichen Escape-Sequenzen wie , \\t, \\\\ verwendet werden können, während sie in Backticks einfach als Text ausgegeben werden:\n\n```go\nfmt.Println("Строка спереносом") // Echter Zeilenumbruch\nfmt.Println(`Строка спереносом`) // Wörtliche Ausgabe von ```