原始标识符
与许多编程语言一样,Rust 也有“关键字”的概念。这些标识符对语言有特殊含义,因此您不能在变量名、函数名和其他地方使用它们。原始标识符允许您在通常不允许使用关键字的地方使用它们。当 Rust 引入新的关键字,而使用旧版 Rust 的库具有与新版本中引入的关键字同名的变量或函数时,这尤其有用。
例如,考虑一个使用 2015 版 Rust 编译的 crate foo
,它导出一个名为 try
的函数。此关键字在 2018 版中为新功能保留,因此如果没有原始标识符,我们将无法命名该函数。
extern crate foo;
fn main() {
foo::try();
}
您将收到此错误
error: expected identifier, found keyword `try`
--> src/main.rs:4:4
|
4 | foo::try();
| ^^^ expected identifier, found keyword
您可以使用原始标识符编写如下代码
extern crate foo;
fn main() {
foo::r#try();
}