ホームページ >バックエンド開発 >Golang >Go で文字の Unicode 値を取得する方法: JavaScript の charCodeAt() に似ていますか?

Go で文字の Unicode 値を取得する方法: JavaScript の charCodeAt() に似ていますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-04 01:18:03884ブラウズ

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

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。