ホームページ >バックエンド開発 >Golang >Goでルーン文字を文字列に変換するには?

Goでルーン文字を文字列に変換するには?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-14 14:44:02706ブラウズ

How to Convert Runes to Strings in Go?

Go でのルーン文字列への変換

Go では、ルーン (Unicode コード ポイント) を文字列にキャストすることができます。これは、文字列操作が必要なさまざまな操作に役立ちます。

ルーンを文字列に変換する 1 つの方法は、strconv.QuoteRune() 関数を使用することです。ただし、このメソッドを使用すると、一部のユーザーが未定義の文字に遭遇する可能性があります。

この問題を解決するには、Scanner.Scan() 関数の動作を理解することが重要です。 Scanner.Scan() は、入力をトークン化するように設計されています。つまり、Scanner.Mode ビットマスクによって制御される特別なシンボルとトークンを認識します。ルーンに対して Scanner.Scan() を使用すると、ルーン自体ではなく text/scanner パッケージから特別な定数が返されます。

単一のルーンを読み取るには、代わりに Scanner.Next() を使用することをお勧めします。 :

c := b.Next()

これにより、ルーン 'a' が変数 c に割り当てられ、文字列キャストを使用してそれを文字列に変換できます:

fmt.Println(c, string(c))

単に変換する必要がある場合単一のルーンを文字列に変換するには、基本的な型変換を使用できます。 rune は int32 のエイリアスであるため、整数変換を直接適用できます:

r := rune('a')
fmt.Println(r, string(r))

文字列の rune を反復するには、for ... range 構造を使用できます:

for i, r := range "abc" {
    fmt.Printf("%d - %c (%v)\n", i, r, r)
}

utf8.DecodeRuneInString() を使用して文字列をルーンのスライスに変換することもできます:

fmt.Println([]rune("abc"))

Go トークン モードで Scanner.Scan() メソッドを使用する場合、ルーンは次のように扱われることに注意してください。 Go 識別子なので、正確なルーンの読み取りには Scanner.Next() を使用することが重要です。

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

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