Heim >Backend-Entwicklung >Golang >Wie greife ich korrekt auf Zeichen in Go-Strings zu?

Wie greife ich korrekt auf Zeichen in Go-Strings zu?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-22 17:55:13288Durchsuche

How Do I Correctly Access Characters in Go Strings?

Zugriff auf Zeichen in Golang-Strings

In Go unterscheidet sich der Zugriff auf Zeichen aus einem String vom ASCII-Gegenstück, da stattdessen der zugrunde liegende Bytewert zurückgegeben wird der Charakter. Da Zeichenfolgen Byte-Arrays darstellen, führt das Abrufen des ersten Zeichens zu seiner numerischen ASCII-Darstellung. Beispielsweise gibt „HALLO“[1] 69 anstelle des beabsichtigten „E“ zurück.

Lösung: Konvertieren in ASCII- oder Unicode-Codepunkte

Um das tatsächliche zu erhalten Um Ihren Charakter zu verbessern, sollten Sie die folgenden Techniken anwenden:

1. ASCII (Einzelbyte-Zeichen):

Konvertieren Sie den Bytewert in eine Zeichenfolge und geben Sie effektiv das ASCII-Zeichen zurück:

fmt.Println(string("Hello"[1])) // Prints "e"

2. Unicode (Multi-Byte-Zeichen):

Konvertieren Sie die Zeichenfolge in ein Runenstück (Unicode-Codepunkte) und greifen Sie auf die gewünschte Position zu:

fmt.Println(string([]rune("Hello, 世界")[1])) // Prints "e" (ASCII)
fmt.Println(string([]rune("Hello, 世界")[8])) // Prints "界" (UTF-8)

Zusätzliche Hinweise :

  • Detaillierte Einblicke finden Sie in der Go Programming Language Specification auf Konvertierungen.
  • Weitere Informationen finden Sie unter „Strings, Bytes, Runen und Zeichen in Go“ auf The Go Blog.

Das obige ist der detaillierte Inhalt vonWie greife ich korrekt auf Zeichen in Go-Strings zu?. 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