Heim > Artikel > Backend-Entwicklung > Wie erhalte ich den Unicode-Wert eines Zeichens in Go: Ähnlich wie charCodeAt() von JavaScript?
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!