Heim > Backend-Entwicklung > Golang > Was ist der Unterschied zwischen Runenliteralen und Stringliteralen in Go?

Was ist der Unterschied zwischen Runenliteralen und Stringliteralen in Go?

Mary-Kate Olsen
Freigeben: 2024-11-18 05:45:02
Original
731 Leute haben es durchsucht

What's the Difference Between Rune Literals and String Literals 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.

  • %q: Druckt das Runenliteral als Anführungszeichen.
  • %v:Druckt das Runenliteral als seinen Unicode-Codepunktwert.

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)
    }
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage