ホームページ >バックエンド開発 >Golang >Go 文字列内の文字に正しくアクセスするにはどうすればよいですか?

Go 文字列内の文字に正しくアクセスするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-22 17:55:13207ブラウズ

How Do I Correctly Access Characters in Go Strings?

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 プログラミング言語仕様を参照してください。変換。
  • さらに詳しく知りたい場合は、The Go Blog の「Go の文字列、バイト、ルーン、文字」をご覧ください。

以上がGo 文字列内の文字に正しくアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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