より深い理解
ルーンは Go における int32 データ型のエイリアスであり、Unicode コードポイントを表します。これは、文字列内の各文字が内部的に 32 ビット整数で表されることを意味します。これは最初は珍しいように思えるかもしれませんが、Go プログラミングにとっていくつかの利点があります。
Rune Swapping
提供されている SwapRune 関数は、ルーンを大文字と小文字の間で変換します。一連のスイッチ ケースを使用して、ルーンを特定の整数値と比較します。これらの整数値は、「a」、「z」、「A」、「Z」の Unicode コードポイントに対応します。比較に基づいて、数学演算を適用してルーンを変更し、32 を加算または減算して大文字と小文字を変更します。
SwapRune の内部
文字列操作のルーン
SwapCase 関数は strconv.Map 関数を使用して適用します文字列内の各文字に対する SwapRune 変換。これにより、UTF-8 エンコーディングを維持しながら文字列の大文字と小文字を効率的に変更できます。
簡単な説明
明示的な整数を使用した次のコードを考えてみましょう。
func SwapRune(r rune) rune { switch { case 97 <= r && r <= 122: return r - 32 case 65 <= r && r <= 90: return r + 32 default: return r } }
ここで、コードはルーン文字を Unicode コードポイントを表す整数値と直接比較し、大文字と小文字の変換が数学的操作によってどのように行われるかを明確にします。
以上がGo でのルーンの仕組み: Unicode コード ポイントと大文字小文字の変換についての詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。