在C++中,某些以下划线开头的标识符被保留供编译器或标准库使用。Rust 中的标识符有类似的规则吗?当然,关键字(如if
(不允许作为标识符,但除此之外:我可以使用任何我想要的标识符吗?
根据 Rust 参考,标识符可能以下划线开头,除了长度(不仅仅是下划线(和关键字之外,似乎没有其他限制:
标识符是以下形式的任何非空 Unicode(请参阅注释(字符串:
也
- 第一个字符具有属性XID_start
- 其余字符具有属性XID_continue
或
- 第一个字符是 _
标识符- 是多个字符,_ 本身不是标识符
- 其余字符具有属性XID_continue
这不会发生在关键字集中。
注意:标识符中的非 ASCII 字符当前具有功能门控。
XID_start 和 XID_continue 是 Unicode 码位的属性;例如,数字(最值得注意的是(没有 XID_start 属性,因此不能作为标识符的第一个字符。