Heim >Backend-Entwicklung >Golang >Wie erhalte ich den Unicode-Wert eines Zeichens in Go: Ähnlich wie charCodeAt() von JavaScript?

Wie erhalte ich den Unicode-Wert eines Zeichens in Go: Ähnlich wie charCodeAt() von JavaScript?

Susan Sarandon
Susan SarandonOriginal
2024-11-04 01:18:03884Durchsuche

How to Get the Unicode Value of a Character in Go: Similar to JavaScript's charCodeAt()?

So erhalten Sie den Unicode-Wert eines Zeichens in Go, ähnlich der charCodeAt()-Methode von JavaScript

Die charCodeAt()-Methode von JavaScript bietet eine numerische Darstellung des Unicode-Zeichens an einem bestimmten Index in einer Zeichenfolge. In Go erfordert der Umgang mit Unicode-Werten und das Abrufen von Zeichencodes einen etwas anderen Ansatz.

Rune in Go verstehen

In Go werden Zeichen durch den Runentyp an dargestellt Alias ​​für int32. Dies bedeutet, dass jedes Zeichen bereits eine Zahl ist, im Gegensatz zu den Zeichenfolgen von JavaScript, bei denen Zeichen durch Zahlen dargestellt werden, auf die über charCodeAt() zugegriffen wird.

Konvertieren einer Zeichenfolge in Runen

Zu erhalten Um den numerischen Unicode-Wert eines Zeichens zu ermitteln, konvertieren Sie die Zeichenfolge mithilfe von []rune(string) in ein Runenstück. Mit diesem Ansatz können Sie auf einzelne Runen innerhalb der Zeichenfolge zugreifen.

Verwenden der for-Bereichsschleife

Alternativ können Sie mithilfe eines for-Bereichs über die Runen in einer Zeichenfolge iterieren Schleife. Dieser Ansatz ist effizienter als das Konvertieren der gesamten Zeichenfolge in ein Runenstück.

Beispielcode

Der folgende Code zeigt, wie man den Unicode-Wert eines Zeichens erhält:

<code class="go">package main

import "fmt"

func charCodeAt(s string, n int) int32 {
    i := 0
    for _, r := range s {
        if i == n {
            return r
        }
        i++
    }
    return 0
}

func main() {
    fmt.Println(charCodeAt("s", 0)) // Outputs: 115
    fmt.Println(charCodeAt("absdef", 2)) // Outputs: 115
}</code>

Arbeiten mit Bytes

Wenn Sie Garantien haben, dass die Zeichenfolge Zeichen mit Codes unter 127 verwendet, können Sie die Zeichenfolge direkt als Bytes statt als Runen indizieren . In Go wird durch die Indizierung einer Zeichenfolge ihr Bytewert abgerufen.

<code class="go">fmt.Println("s"[0]) // Outputs: 115
fmt.Println("absdef"[2]) // Outputs: 115</code>

Dieser Ansatz ist einfacher, kann jedoch zu Ungenauigkeiten führen, wenn die Zeichenfolge Multibyte-Zeichen enthält.

Das obige ist der detaillierte Inhalt vonWie erhalte ich den Unicode-Wert eines Zeichens in Go: Ähnlich wie charCodeAt() von JavaScript?. 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