- 字符字面值
字符字面值
字符字面值用单引号 '' 括起来,并且可以包含与字符串相同的转义序列 - 有一个例外:平台依赖的 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 声明。
