ルーンの種類オープンソースプロジェクトのソースコードをレビューしていると、`rune`型によく遭遇します。この記事では、`rune`型について詳しく説明します。まず、Goのソースコード内のコメントを見てみましょう。 // runeはint32の別名であり、あらゆる点でint32と同等です。 ご覧のとおり、ルーン型はint32型の別名であり、int32と同等です。ルーン型は、文字値と整数値を区別するために慣習的に使用されているため定義されました。ルーン型は通常、Unicode文字のコードポイント、つまりUnicodeにおける文字エンコーディングを表すために使用され、Unicodeの1,114,112個のコードポイントをサポートしています。 使い方一重引用符を使用して、rune 型の変数を定義できます。次に例を示します。 var r1ルーン= 'A' %c を使用して、rune 型の変数をフォーマットできます。次に例を示します。 fmt.Printf (" r1 : %c\n" , r1 ) // 出力: r1: A 文字列でルーン型を使用すると、Unicode 文字を表すことができます。次に例を示します。 str : = "こんにちは、世界!" `rune` は 32 ビット整数なので、`rune` 変数を `int` 変数に割り当てるときには型変換が必要です。 var rルーン= 'A' 文字列の長さを計算するご存知の通り、中国語の文字はUnicodeでは2バイト、UTF-8では3バイトを占有します。GoのデフォルトのエンコーディングはUTF-8です。文字列のバイト長ではなく長さを取得したい場合は、`rune`型を使用する必要があります。 パッケージメイン 出力結果: バイト数: 12 |