除了关键字之外,Rust 中是否有任何保留标识符(例如以下划线开头)?



在C++中,某些以下划线开头的标识符被保留供编译器或标准库使用。Rust 中的标识符有类似的规则吗?当然,关键字(如if(不允许作为标识符,但除此之外:我可以使用任何我想要的标识符吗?

根据 Rust 参考,标识符可能以下划线开头,除了长度(不仅仅是下划线(和关键字之外,似乎没有其他限制:

标识符是以下形式的任何非空 Unicode(请参阅注释(字符串:

  • 第一个字符具有属性XID_start
  • 其余字符具有属性XID_continue

  • 第一个字符是 _
  • 标识符
  • 是多个字符,_ 本身不是标识符
  • 其余字符具有属性XID_continue

这不会发生在关键字集中。

注意:标识符中的非 ASCII 字符当前具有功能门控。

XID_start 和 XID_continue 是 Unicode 码位的属性;例如,数字(最值得注意的是(没有 XID_start 属性,因此不能作为标识符的第一个字符。

最新更新