Iterieren über Strings durch Runen in Go
Bei der Arbeit mit Strings in Go ist es oft notwendig, über die einzelnen Zeichen oder Runen zu iterieren Bilden Sie die Zeichenfolge. Obwohl es einfach erscheinen mag, den integrierten Typ []Byte zu verwenden, berücksichtigt dieser Ansatz nur die Bytes, die die Runen darstellen, und nicht die Runen selbst.
Um effektiv über eine Zeichenfolge nach Runen zu iterieren, können Sie Folgendes verwenden: die Bereichssyntax, die eine bequeme Möglichkeit bietet, die Unicode-Codepunkte einer Zeichenfolge zu durchlaufen. Diese Methode analysiert automatisch die UTF-8-Kodierung der Zeichenfolge, sodass Sie direkt auf die Runen zugreifen können.
Hier ist ein Beispiel:
for pos, char := range "日本語" { fmt.Printf("character %c starts at byte position %d\n", char, pos) }
Dieser Code wird gedruckt:
character 日 starts at byte position 0 character 本 starts at byte position 3 character 語 starts at byte position 6
Die Bereichssyntax iteriert über die Unicode-Codepunkte der Zeichenfolge und bietet Zugriff sowohl auf den Codepunkt selbst (dargestellt durch char) als auch auf seinen Anfang Byte-Position in der Zeichenfolge (dargestellt durch pos). Dies ermöglicht eine flexible Verarbeitung der Runen innerhalb einer Zeichenfolge.
Das obige ist der detaillierte Inhalt vonWie kann ich in Go mit Runen über eine Zeichenfolge iterieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!