我已经写了以下代码,可以成功编译,
#[tokio::main]
async fn main() {
}
但我很好奇,为什么main
proc_宏可以直接使用,而不需要任何前奏或显式USE语句?
我已经写了以下代码,可以成功编译,
#[tokio::main]
async fn main() {
}
但我很好奇,为什么main
proc_宏可以直接使用,而不需要任何前奏或显式USE语句?
这是因为tokio::main
是一个完整的路径,例如,您可以以相同的方式使用std::collections::HashMap
.
use
语句所做的只是将您使用的对象放入作用域,但cargo
会自动将 crate 本身放入作用域.
对于早期版本的Rust,你必须写extern crate tokio;
个或类似的东西,但这基本上已经是过go 的事情了.
请注意,您仍然需要在Cargo.toml
的基础上再加tokio