原始标识符
像许多编程语言一样,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();
}