字符字面值

字符字面值用单引号 ‘’ 括起来,可以包含与字符串相同的转义字符 —— 但有一种例外:不允许与平台有关的 newline (\p) “换行符”,因为它可能比一个字符宽(它可能是一对CR/LF)。下面是有效的 escape sequences “转义字符”字面值。

转义字符含义
\r, \ccarriage return 回车
\n, \lline feed 换行(通常叫创建新行 newline)
\fform feed 换页
\ttabulator 制表符
\vvertical tabulator 垂直制表符
\backslash 反斜线
\”quotation mark 双引号
\’apostrophe 撇号
\ ‘0’..’9’+character with decimal value d; 十进制值字符 后面的所有十进制数字都用于该字符
\aalert 警报
\bbackspace 退格符
\eescape [ESC]
\x HHcharacter with hex value HH; 十进制值HH 只允许两个十六进制数字

一个字符不是 Unicode 字符,而是单字节。

原由:为了能够有效地支持 array[char, int] 和 set[char] 。

Rune 类型可以代表任何 Unicode 字符。 Rune 声明在 unicode 模块中。

如果前面有一个反引号 Token,则不以 ‘ 结尾的字符字面值被解释为 ‘ 。在前面的反引号标记和字符字面值之间不能有空格。 这种特殊情况是为了保证像 proc `‘customLiteral`(s: string) 这样的声明有效。 proc `‘customLiteral`(s: string) 与 proc `‘\‘’customLiteral`(s: string) 相同。

参阅 自定义数值字面量