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个字节。
这些数值类型名称最后面的数字代表了这个类型所使用的比特的数量,不过例外的是,字节类型byte
和rune
类型在其名称中并未体现其所用的字节数量。其实byte
可以看作类型unit8
的别名类型,而rune
可看作unit32
的别名类型。
我们已经知道一个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代码点表示。
'a'
。'\x'
为前缀、末尾跟上两位十六进制数。此方式可表示宽度为一个字节的值即一个 A S C I I ASCII ASCII编码值。'\'
为前缀、末尾跟上三位八进制数。它只能用于表示对应数值在 0 0 0和 255 255 255之间的值。\u
为前缀、末尾跟上四位十六进制数。它只能用于表示两个字节宽度的值。( U C S − 2 UCS-2 UCS−2表示法)'\U'
为前缀、末尾跟上八位十六进制数。( U C S − 4 UCS-4 UCS−4表示法)转义符 | 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
字面量中。