JavaScript の charCodeAt() メソッドと同様に、Go で文字の Unicode 値を取得する方法
JavaScript の charCodeAt() メソッドは、文字列内の特定のインデックスにある Unicode 文字の数値表現。 Go では、Unicode 値の処理と文字コードの取得には、少し異なるアプローチが必要です。
Go のルーンについて
Go では、文字はルーン タイプ、つまりint32 のエイリアス。これは、charCodeAt() を介してアクセスされる数値によって文字が表される JavaScript の文字列とは異なり、各文字がすでに数値であることを意味します。
文字列をルーン文字に変換
取得するには文字の Unicode 数値。 []rune(string) を使用して文字列をルーンのスライスに変換します。このアプローチにより、文字列内の個々のルーンにアクセスできます。
for Range ループを使用する
あるいは、for Range を使用して文字列内のルーンを反復処理することもできます。ループ。この方法は、文字列全体をルーン文字のスライスに変換するよりも効率的です。
コード例
次のコードは、文字の Unicode 値を取得する方法を示しています。
<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>
バイトの操作
文字列が 127 未満のコードを持つ文字を使用していることが保証されている場合は、ルーンではなくバイトとして文字列を直接インデックス化できます。 。 Go では、文字列にインデックスを付けるとそのバイト値が取得されます。
<code class="go">fmt.Println("s"[0]) // Outputs: 115 fmt.Println("absdef"[2]) // Outputs: 115</code>
このアプローチはより簡単ですが、文字列にマルチバイト文字が含まれている場合は不正確になる可能性があります。
以上がGo で文字の Unicode 値を取得する方法: JavaScript の charCodeAt() に似ていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。