Heim >Backend-Entwicklung >Golang >Wie iteriere ich über Strings von Runes in Go?

Wie iteriere ich über Strings von Runes in Go?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-27 15:34:111080Durchsuche

How Do I Iterate Over Strings by Runes in Go?

Iterieren über Strings durch Runen in Go

Wenn Sie in Go versuchen, mithilfe von Indizes über einen String zu iterieren, kann ein Problem auftreten, bei dem str[i] gibt ein Byte anstelle einer Rune zurück. Dies liegt daran, dass Zeichenfolgen in Go Folgen von Bytes und keine Runen sind.

Um Zeichenfolgen anhand von Runen zu durchlaufen, verwenden Sie das Schlüsselwort „range“. Zum Beispiel:

for pos, char := range "日本語" {
    fmt.Printf("character %c starts at byte position %d\n", char, pos)
}

Dies wird gedruckt:

character 日 starts at byte position 0
character 本 starts at byte position 3
character 語 starts at byte position 6

Die Bereichssyntax bewirkt Folgendes:

  • Iteriert von 0 bis zur Länge der Zeichenfolge
  • Extrahiert für jede Position die Rune an dieser Position mithilfe der UTF-8-Kodierung

Das obige ist der detaillierte Inhalt vonWie iteriere ich über Strings von Runes in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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