Go 文字列内の文字にアクセスする
この質問では、Go 文字列内の文字にアクセスする方法を検討し、スライスとしての文字列の性質を詳しく調べます。バイト数と文字、ルーン、Unicode コード間の関係ポイント。
元の質問:
「HELLO」[1] にアクセスするときに、数値 69 の代わりに「E」文字を取得するにはどうすればよいですか?
答え:
文字列から文字を取得するには、 Go のキャラクター表現を理解する必要があります。解釈された文字列リテラルは、UTF-8 でエンコードされた文字のシーケンスであり、ASCII 文字は 1 バイトのみを占めます。したがって、「E」文字を取得するには、次の変換が必要です:
fmt.Println(string("Hello"[1])) // ASCII only
代替: ルーン文字の使用
Unicode サポートの場合、Unicode を表すルーン文字コードポイントを使用できます。これらは UTF-8 文字列と互換性があります:
fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
このコードは "e" 文字を出力します。
Go の文字処理機能
Go が文字とバイトの間で変換する関数を提供していることは注目に値します。たとえば、byte(c) メソッドは文字 (ルーン) を対応するバイトに変換し、rune(b) はバイトを文字に変換します。
追加の読み方:
以上がGo 文字列内の数値ではなく個々の文字にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。