ホームページ  >  記事  >  バックエンド開発  >  Golangバイトとは何ですか

Golangバイトとは何ですか

(*-*)浩
(*-*)浩オリジナル
2019-12-13 10:59:5510735ブラウズ

文字列内の各要素は「文字」と呼ばれ、文字は文字列要素を走査するか個別に取得するときに取得できます。

Golangバイトとは何ですか

Go 言語には 2 種類の文字があります:

1 つは uint8 型、または byte 型で、 ASCII コードの文字。 (推奨学習: go)

もう 1 つは、UTF-8 文字を表すルーン タイプです。中国語、日本語、またはその他の複合文字を処理する必要がある場合は、次を使用する必要があります。ルーンの種類。ルーン型は int32 型と同等です。

byte 型は uint8 のエイリアスです。これは、var ch byte = 'A' など、1 バイトのみを占有する従来の ASCII エンコード文字にはまったく問題なく、文字は一重引用符で囲まれます。

ASCII コード表では、A の値は 65 で、16 進表記では 41 であるため、次の記述は同等です。

var ch byte = 65 或 var ch byte = '\x41'      //(\x 总是紧跟着长度为 2 的 16 进制数)

さらに 1 つ可能な書き方は、\ の後に長さ 3 の 8 進数を続けるというものです (例: \377)。

Go 言語は Unicode (UTF-8) もサポートしているため、文字は Unicode コード ポイントまたはルーンとも呼ばれ、メモリ内では int で表されます。文書では、一般に U hhh という形式が使用されます。ここで、h は 16 進数を表します。

Unicode 文字を記述する場合は、16 進数の前に接頭辞 \u または \U を追加する必要があります。 Unicode は少なくとも 2 バイトを占めるため、int16 または int 型を使用して表現します。 4 バイトを使用する必要がある場合は \u 接頭辞を使用し、8 バイトを使用する必要がある場合は \U 接頭辞を使用します。

var ch int = '\u0041'
var ch2 int = '\u03B2'
var ch3 int = '\U00101234'
fmt.Printf("%d - %d - %d\n", ch, ch2, ch3) // integer
fmt.Printf("%c - %c - %c\n", ch, ch2, ch3) // character
fmt.Printf("%X - %X - %X\n", ch, ch2, ch3) // UTF-8 bytes
fmt.Printf("%U - %U - %U", ch, ch2, ch3)   // UTF-8 code point

出力:

65 - 946 - 1053236
A - β - r
41 - 3B2 - 101234
U+0041 - U+03B2 - U+101234

形式指定子 %c は、文字を表すために使用されます。文字とともに使用すると、%v または %d が出力されます。文字を表すために使用される整数。%U は、U hhh の形式で文字列を出力します。

Unicode パッケージには、文字をテストするための組み込み関数がいくつかあります。これらの関数の戻り値は、以下に示すようにブール値です (ch は文字を表します):

判断是否为字母:unicode.IsLetter(ch)
判断是否为数字:unicode.IsDigit(ch)
判断是否为空白符号:unicode.IsSpace(ch)

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

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