Golang 文字列の文字インデックス付け
Go 文字列は、UTF-8 エンコーディングのバイト シーケンスとして表されます。複数のバイトを占める可能性がある個々の文字にアクセスするには、文字列または [] ルーン変換を利用できます。
ASCII 文字へのアクセス
例:
fmt.Print("HELLO"[1])
文字列「HELLO」のインデックス 1 の文字にアクセスします。 ASCII 文字は 1 バイトのみを占めるため、結果はバイト値 69 になります。
バイトを文字に変換
実際の文字値を取得するには、バイトを変換できます。文字列に。これにより、適切な UTF-8 処理が保証されます。
fmt.Println(string("Hello"[1])) // ASCII only
Unicode 文字へのアクセス
複数バイトにわたる可能性がある Unicode 文字の場合、[]rune 変換が必要です。
fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
ルーンを変換中Bytes
ルーンをバイト スライスに変換するには、引数として []byte:
fmt.Println(string([]byte("Hello"))) // ASCII only
References:
以上がGo 文字列内の文字に効率的にアクセスして変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。