• 字符字面值

    字符字面值

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