Golang 文字列内の文字へのアクセス
Go では、文字列からの文字へのアクセスは、対応する ASCII 文字列とは異なり、代わりに基になるバイト値を返します。キャラクター。文字列はバイト配列を表すため、最初の文字を取得すると数値の ASCII 表現になります。たとえば、"HELLO"[1] は、意図した 'E' の代わりに 69 を返します。
解決策: ASCII または Unicode コード ポイントに変換する
実際のコード ポイントを取得するにはキャラクターの場合は、次のテクニックの採用を検討してください:
1. ASCII (シングルバイト文字):
バイト値を文字列に変換し、実質的に ASCII 文字を返します:
fmt.Println(string("Hello"[1])) // Prints "e"
2. Unicode (マルチバイト文字):
文字列をルーンのスライス (Unicode コード ポイント) に変換し、目的の位置にアクセスします:
fmt.Println(string([]rune("Hello, 世界")[1])) // Prints "e" (ASCII) fmt.Println(string([]rune("Hello, 世界")[8])) // Prints "界" (UTF-8)
追加メモ:
以上がGo 文字列内の文字に正しくアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。