Heim > Artikel > Backend-Entwicklung > Gibt es einen Zeichentyp in der Go-Sprache?
In der Go-Sprache gibt es zwei Zeichentypen: 1. Byte-Typ, auch Uint8-Typ genannt, der ein Zeichen im ASCII-Code darstellt; 2. Rune-Typ, der ein UTF-8-Zeichen darstellt, wenn Chinesisch verarbeitet werden muss , japanische oder andere zusammengesetzte Zeichen, müssen Sie den Runentyp verwenden. Der Rune-Typ entspricht dem Typ int32.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, GO 1.11.2, Dell G3-Computer.
Jedes Element in einer Zeichenfolge wird als „Zeichen“ bezeichnet. Zeichen können beim Durchlaufen oder beim individuellen Abrufen von Zeichenfolgenelementen abgerufen werden.
In der Go-Sprache gibt es zwei Zeichentypen:
Einer ist der Typ uint8 oder Byte-Typ, der ein Zeichen im ASCII-Code darstellt.
Der andere ist der Runentyp, der ein UTF-8-Zeichen darstellt. Wenn Sie chinesische, japanische oder andere zusammengesetzte Zeichen verarbeiten müssen, müssen Sie den Runentyp verwenden. Der Rune-Typ entspricht dem Typ int32. Der Typ
byte ist ein Alias für uint8, was für herkömmliche ASCII-codierte Zeichen, die nur 1 Byte belegen, völlig in Ordnung ist, wie z. B. var ch byte = 'A', und die Zeichen werden in einfache Anführungszeichen gesetzt.
In der ASCII-Codetabelle beträgt der Wert von A 65 und in der Hexadezimalschreibweise 41, sodass die folgende Schreibweise äquivalent ist:
var ch byte = 65 或 var ch byte = '\x41' //(\x 总是紧跟着长度为 2 的 16 进制数)
Eine andere mögliche Schreibweise besteht darin, eine Oktalzahl der Länge 3 einzufügen, wie 377
.
Die Go-Sprache unterstützt auch Unicode (UTF-8), daher werden Zeichen auch als Unicode-Codepunkte oder Runen bezeichnet und im Speicher durch int dargestellt. In Dokumenten wird im Allgemeinen das Format U+hhhh verwendet, wobei h eine Hexadezimalzahl darstellt.
Beim Schreiben von Unicode-Zeichen müssen Sie das Präfix u oder U vor der Hexadezimalzahl hinzufügen. Da Unicode mindestens 2 Bytes belegt, verwenden wir zur Darstellung den Typ int16 oder int. Wenn Sie 4 Bytes verwenden müssen, verwenden Sie das Präfix u. Wenn Sie 8 Bytes verwenden müssen, verwenden Sie das Präfix U.
var ch int = '\u0041' var ch2 int = '\u03B2' var ch3 int = '\U00101234' fmt.Printf("%d - %d - %d\n", ch, ch2, ch3) // integer fmt.Printf("%c - %c - %c\n", ch, ch2, ch3) // character fmt.Printf("%X - %X - %X\n", ch, ch2, ch3) // UTF-8 bytes fmt.Printf("%U - %U - %U", ch, ch2, ch3) // UTF-8 code point
Der Formatbezeichner %c wird zur Darstellung von Zeichen verwendet. Bei Verwendung in Verbindung mit Zeichen gibt %v oder %d eine Ganzzahl aus, die zur Darstellung des Zeichens verwendet wird Zeichenfolge.
Das Unicode-Paket verfügt über einige integrierte Funktionen zum Testen von Zeichen. Der Rückgabewert dieser Funktionen ist ein boolescher Wert, wie unten gezeigt (wobei ch ein Zeichen darstellt):
Das obige ist der detaillierte Inhalt vonGibt es einen Zeichentyp in der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!