Heim > Backend-Entwicklung > Golang > Wie kann ich effizient auf Zeichen in Go-Strings zugreifen und diese konvertieren?

Wie kann ich effizient auf Zeichen in Go-Strings zugreifen und diese konvertieren?

Mary-Kate Olsen
Freigeben: 2024-12-19 06:22:13
Original
790 Leute haben es durchsucht

How to Efficiently Access and Convert Characters in Go Strings?

Zeichenindizierung in Golang-Strings

Go-Strings werden als Bytefolgen in der UTF-8-Codierung dargestellt. Um auf einzelne Zeichen zuzugreifen, die mehrere Bytes belegen können, kann man die String- oder []Rune-Konvertierung nutzen.

Zugriff auf ASCII-Zeichen

Im Beispiel:

fmt.Print("HELLO"[1])
Nach dem Login kopieren

Auf das Zeichen an Index 1 der Zeichenfolge „HELLO“ wird zugegriffen. Da ASCII-Zeichen nur ein Byte belegen, ist das Ergebnis der Bytewert 69.

Bytes in Zeichen umwandeln

Um den tatsächlichen Zeichenwert zu erhalten, kann das Byte konvertiert werden zu einer Zeichenfolge. Dies stellt eine ordnungsgemäße UTF-8-Verarbeitung sicher:

fmt.Println(string("Hello"[1])) // ASCII only
Nach dem Login kopieren

Zugriff auf Unicode-Zeichen

Für Unicode-Zeichen, die sich über mehrere Bytes erstrecken können, ist die []rune-Konvertierung erforderlich:

fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
Nach dem Login kopieren

Runen umwandeln in Bytes

Um eine Rune zurück in ein Byte-Slice umzuwandeln, kann sie als Argument an []byte übergeben werden:

fmt.Println(string([]byte("Hello"))) // ASCII only
Nach dem Login kopieren

Referenzen:

  • [Gehen Sie zum Abschnitt „Programmiersprachenspezifikation“ weiter Konvertierungen](https://go.dev/ref/spec#Conversions)
  • [The Go Blog: Strings, Bytes, Runen und Zeichen in Go](https://blog.golang.org/strings -bytes-runes-and-characters-in-go)

Das obige ist der detaillierte Inhalt vonWie kann ich effizient auf Zeichen in Go-Strings zugreifen und diese konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage