字符字面值
字符字面值用单引号 '' 括起来,并且可以包含与字符串相同的转义序列 - 有一个例外:平台依赖的 newline (\p) 是不允许的,因为它可能比一个字符宽(通常是CR / LF对)。 以下是对字符字面值有效的 转义序列 :
转义序列 | 含义 |
---|---|
\r, \c | 回车 |
\n, \l | 换行 |
\f | 换页 |
\t | 制表符 |
\v | 垂直制表符 |
\ | 反斜杠 |
\" | 双引号 |
\' | 单引号 |
\ '0'..'9'+ | 十进制值的字符d; 后跟的所有十进制数字都用于该字符 |
\a | 告警 |
\b | 退格 |
\e | 退出[ESC] |
\x HH | 十六进制字符HH; 只允许两位数字 |
字符不是Unicode字符,而是单个字节。
这样做的原因是效率:对于绝大多数用例,由于UTF-8是专门为此设计的,所得到的程序仍然可以正确处理UTF-8。 另一个原因是Nim因此可以依靠这个特性像其它算法一样有效地支持 array[char, int] 或 set[char] 。 Rune 类型用于Unicode字符,它可以表示任何Unicode字符。 Rune 在 unicode module 声明。