ホームページ >バックエンド開発 >Golang >ルーンとは何ですか? Go のバイトとどう違うのですか?

ルーンとは何ですか? Go のバイトとどう違うのですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-18 03:23:13115ブラウズ

What are Runes and How Do They Differ from Bytes in Go?

Go の Rune とは何ですか?

Go では、整数データ型 int32 のエイリアスとして「rune」という用語が使用されます。通常、文字を表すために整数は使用されないため、これは少し混乱を招きます。ただし、Go では、ルーン文字は文字操作において重要な役割を果たします。

ルーン リテラル

Go のルーン リテラルは、次のように 1 つの文字を一重引用符で囲むことによって表されます。 「a」または「z」として。これらのリテラルは実際には Unicode コードポイントを表します。たとえば、「a」はコードポイント 97 に対応します。

ルーンベースの文字操作

提供された SwapRune 関数は、入力としてルーンを受け取り、その大文字と小文字を入れ替えます。 switch ステートメントを使用して、小文字から大文字への変換とその逆の 2 つのケースを処理します。

switch ステートメント内の条件 ('a' <= r && r <= 'z' など)ルーンの値を Unicode コードポイントの「a」および「z」と比較します。ルーンがこの範囲内にある場合、それは小文字とみなされ、コードポイントがそれに応じて調整されて大文字バージョンが生成されます。

ルーンと文字列の操作

SwapCase関数は、文字列操作におけるルーンの使用法を示します。 strings.Map 関数を使用して、入力文字列内の各ルーンに SwapRune 関数を適用し、すべての文字の大文字と小文字を効果的に交換します。

Byte vs. Rune

ルーン文字は Unicode コードポイントを表すために使用されますが、バイトはバイト シーケンス内の個々のバイトを表します。各文字が 1 バイトで表される ASCII では、ルーンとバイトは交換可能です。ただし、より広範囲の文字をサポートする Unicode では、単一の Unicode 文字を複数のバイトを使用してエンコードできます。このような状況では、ルーン文字の方がバイトよりも正確に文字を表現できます。

以上がルーンとは何ですか? Go のバイトとどう違うのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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