Heim > Artikel > Backend-Entwicklung > Was ist der Unterschied zwischen Runenliteralen und Stringliteralen in Go?
Runenliterale in Go verstehen
In Ihrem Go-Code stoßen Sie auf einen Fehler im Zusammenhang mit „mehr als ein Zeichen im Runenliteral“. Um diesen Fehler zu verstehen, werfen wir einen Blick auf das Konzept der Runenliterale in Go und warum Sie Ihren Code entsprechend anpassen müssen.
Runenliterale in Go
In Go Runenliterale stellen Unicode-Codepunkte dar und werden verwendet, um einzelne Zeichen auszudrücken. Sie werden in einfache Anführungszeichen (' ') eingeschlossen. Runenliterale unterscheiden sich von String-Literalen, die in doppelte Anführungszeichen („“) oder umgekehrte Anführungszeichen (`) eingeschlossen sind.
Der Fehler: Mehrere Zeichen im Runenliteral
Bei der Arbeit mit Runenliteralen ist es wichtig sicherzustellen, dass in den einfachen Anführungszeichen nur ein Zeichen eingeschlossen ist. In Ihrem Code versuchen Sie, einen String-Formatbezeichner (%d) mit einem Runenliteral innerhalb der Printf-Funktion zu verwenden. Dies ist falsch, da %d für dezimale Ganzzahlen gedacht ist.
Lösung: Verwenden Sie %q oder %v
Um dieses Problem zu beheben, müssen Sie den Formatbezeichner ändern passend zum Typ der Daten, die Sie drucken. Da Sie in diesem Fall eine Rune drucken, sollten Sie entweder %q oder %v Formatbezeichner verwenden.
Hier ist der überarbeitete Code mit den richtigen Formatspezifizierern:
if a % 2 == 0 { fmt.Println("%d is an even number", a) } else { fmt.Println("%d is an odd number", a) }
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Runenliteralen und Stringliteralen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!