ホームページ > バックエンド開発 > Golang > Go 文字列内のルーンを反復するにはどうすればよいですか?

Go 文字列内のルーンを反復するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-13 03:10:02
オリジナル
853 人が閲覧しました

How Do I Iterate Over Runes in a Go String?

Go でのルーンによる文字列の反復

Go で文字列を反復する場合、開発者はルーン (Unicode コード) を操作する必要があることがよくあります。バイトではなくポイント)。これは、Go の文字列型がルーンではなくバイトを格納するためです。

次のコード スニペットを考えてみましょう:

for i := 0; i < len(str); i++ {
    dosomethingwithrune(str[i]) // takes a rune
}
ログイン後にコピー

このスニペットは、文字列 str 内の文字を反復処理して、何らかのアクションを実行することを目的としています。それぞれのルーンで。ただし、str[i] にアクセスすると、ルーンではなくバイトが返されます。

文字列内のルーンを反復処理するために、Go はこの目的専用の範囲式を提供します。

for pos, char := range "日本語" {
    fmt.Printf("character %c starts at byte position %d\n", char, pos)
}
ログイン後にコピー

In上の例では、範囲式は文字列内のルーンを反復処理し、現在のルーンを変数 char に割り当て、現在のバイト位置を変数 pos に割り当てます。

範囲式の利点は、UTF を処理できることです。 -8 は自動的にデコードされ、個々の Unicode コード ポイントが分割されます。これにより、手動反復の潜在的な落とし穴を回避しながら、文字列内のルーンを反復するタスクが簡素化されます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート