【GO】【基本数据类型】rune

【GO】【基本数据类型】rune_第1张图片

GO的独生子——rune

  • 初识rune
  • 什么叫宽度
  • 进一步理解rune
    • rune的具体表示方式
    • rune字面量支持的转义符

初识rune

rune G o Go Go语言定义的特有的数据类型,专用于存储 U n i c o d e Unicode Unicode编码。它可以看作是一个由 32 32 32位二进制数代表的无符号整数类型。

宽度 零值
rune 4 0

什么叫宽度

为了存储某个类型的值而需要使用的比特( b i t bit bit)/字节(byte)的数量称为这个类型的宽度。 1 1 1个字节等于 8 8 8个比特。例如,int8类型的值需要使用 1 1 1个字节、uint16类型的值需要 2 2 2个字节。
这些数值类型名称最后面的数字代表了这个类型所使用的比特的数量,不过例外的是,字节类型byterune类型在其名称中并未体现其所用的字节数量。其实byte可以看作类型unit8的别名类型,rune可看作unit32的别名类型

进一步理解rune

我们已经知道一个rune常量就是一个 U n i c o d e Unicode Unicode编码值。 U n i c o d e Unicode Unicode编码值也可以被叫做 U n i c o d e Unicode Unicode代码点。 U n i c o d e Unicode Unicode代码点的惯用方式是使用十六进制表示法来表示与它对应的数字值,并使用“ U + U+ U+”作为前缀。
例如

英文字母“ A A A”的 U n i c o d e Unicode Unicode代码点就是 U + 0041 U+0041 U+0041

一个rune字面量由外层的单引号和内层的一个或多个字符组成。在包裹字符的单引号中不能出现'和换行符\n。这样一个rune字面量就可以由与它对应的 U n i c o d e Unicode Unicode代码点表示。

rune的具体表示方式

  • U n i c o d e Unicode Unicode编码规范所支持的字符。如'a'
  • 使用'\x'为前缀、末尾跟上两位十六进制数。此方式可表示宽度为一个字节的值即一个 A S C I I ASCII ASCII编码值。
  • 使用'\'为前缀、末尾跟上三位八进制数。它只能用于表示对应数值在 0 0 0 255 255 255之间的值。
  • 使用\u为前缀、末尾跟上四位十六进制数。它只能用于表示两个字节宽度的值。( U C S − 2 UCS-2 UCS2表示法)
  • 使用'\U'为前缀、末尾跟上八位十六进制数。( U C S − 4 UCS-4 UCS4表示法)

rune字面量支持的转义符

转义符 U n i c o d e Unicode Unicode代码点 说明
\a U+0007 告警铃声或蜂鸣声
\b U+0008 退格符
\f U+000C 换页符
\n U+000A 换行符
\r U+000D 回车符
\t U+0009 水平制表符
\v U+000b 垂直制表符
\\ U+005c 反斜杠
\' U+0027 单引号(仅在rune字面量中有效)
\" U+0022 双引号(仅在String字面量中有效)

除了在上面表格中出现的转移符外的以"\“为前缀的字符序列都是不合法的。另外,转义符”\"也不能出现在rune字面量中。

你可能感兴趣的:(Go)