Heim >Backend-Entwicklung >Golang >Warum ist „Hallo' als String-Deklaration in Go illegal?
String-Deklarationen in Go verstehen: Warum „Hallo“ illegal ist
In Go können Strings entweder mit doppelten oder einfachen Anführungszeichen deklariert werden. aber mit einem feinen Unterschied. Während doppelte Anführungszeichen („Hallo“) eine Zeichenfolge darstellen, die Zeichen enthält, stellen einfache Anführungszeichen („Hallo“) einen einzelnen Unicode-Codepunkt oder eine einzelne Unicode-Rune dar.
Wenn Sie „Hallo“ einer Zeichenfolgenvariablen in Go zuweisen, wird die Der Compiler interpretiert es als Runenliteral. Eine Rune ist ein einzelner Unicode-Codepunkt, keine Zeichenfolge. Daher führt der Versuch, einer String-Variablen ein einzelnes Zeichen zuzuweisen, zu einem Fehler „Ungültiges Runenliteral“.
Der Unterschied zwischen Strings und Runen ist in Go erheblich. Strings bestehen aus Runen, aber nicht alle Runen können als Strings dargestellt werden. Beispielsweise kann das Nullzeichen ( ) in Go nicht als Zeichenfolge dargestellt werden, wohl aber als Rune:
var nul rune = '<pre class="brush:php;toolbar:false">var hello string = "hello"'
Um eine Zeichenfolge mit Zeichen zuzuweisen, verwenden Sie doppelte Anführungszeichen:
Dieser Code weist die Zeichenfolge „Hallo“ korrekt der Variablen „Hallo“ zu.
Die Unterscheidung zwischen Zeichenfolgen und Runen ergibt sich aus den Wurzeln von Go in Systemen Programmierung, bei der Zeichen und Codepunkte oft explizit behandelt werden müssen. Auch wenn einfache Anführungszeichen eine praktische Möglichkeit zum Deklarieren einer Zeichenfolge zu sein scheinen, ist es wichtig, die technischen Unterschiede zu verstehen, um Fehler zu vermeiden.
Das obige ist der detaillierte Inhalt vonWarum ist „Hallo' als String-Deklaration in Go illegal?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!