String-Zitat in Golang
In Golang stellen Strings mit einfachen Anführungszeichen ein einzelnes Zeichen oder eine einzelne Rune dar, nicht einen String. Der Versuch, einer Variablen in einfachen Anführungszeichen eine Zeichenfolge zuzuweisen, führt zu einem Fehler, da dies gegen die Typregeln der Sprache verstößt.
Einzelzeichen vs. Zeichenfolge
A Ein einfaches Anführungszeichen schließt eine Rune ein, bei der es sich um einen einzelnen Unicode-Codepunkt handelt. Zum Beispiel:
a := 'a' // represents the rune 'a'
Im Gegensatz dazu schließen doppelte Anführungszeichen eine Zeichenfolge ein, die eine Folge von null oder mehr Runen ist.
a := "hello" // represents the string "hello"
Fehlermeldungen
Die Fehlermeldungen, die Sie erhalten, weisen darauf hin, dass Sie versuchen, einer Variablen vom Typ „String“ eine Zeichenfolge (in einfachen Anführungszeichen eingeschlossen) zuzuweisen. Golang interpretiert den Wert in einfachen Anführungszeichen als Rune und beschwert sich über die Typinkongruenz.
Auf einigen Systemen wird möglicherweise der Fehler „illegales Runenliteral“ angezeigt, was bedeutet, dass das einfache Anführungszeichen kein gültiges Runenliteral ist . Auf dem Go-Playground sehen Sie möglicherweise eine Reihe von Syntaxfehlern im Zusammenhang mit der Verwendung von einfachen Anführungszeichen.
Vergleich mit anderen Sprachen
Im Gegensatz zu Python und Perl unterscheidet Golang zwischen Zeichen und Zeichenfolgen. Diese Unterscheidung ist notwendig, da Golang Unicode unterstützt, das eine Vielzahl von Zeichen mithilfe mehrerer Codepunkte darstellen kann.
Codepunkte und Runen
In Golang ist eine Rune eine Ganzzahl, die einen Unicode-Codepunkt darstellt. Schnüre bestehen aus Runen. Beispielsweise wird die Zeichenfolge „Hallo“ durch die folgende Runenfolge dargestellt:
[]rune{0x68, 0x65, 0x6c, 0x6c, 0x6f}
Jede Rune entspricht einem bestimmten Unicode-Zeichen. Der Abschnitt „Codepunkte, Zeichen und Runen“ des Go-Blogs zu Strings bietet weitere Details zu diesem Thema.
Das obige ist der detaillierte Inhalt vonWarum führt die Verwendung einfacher Anführungszeichen für Zeichenfolgen zu Fehlern in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!