#[main]Expand description
Marks async function to be executed by selected runtime. This macro helps set up a Runtime
without requiring the user to use Runtime or
Builder directly.
§Function arguments:
Arguments are allowed for any functions aside from main which is special
§Usage
§Using default
#[tokio::main(flavor = "current_thread")]
async fn main() {
    println!("Hello world");
}Equivalent code not using #[tokio::main]
fn main() {
    tokio::runtime::Builder::new_current_thread()
        .enable_all()
        .build()
        .unwrap()
        .block_on(async {
            println!("Hello world");
        })
}§Rename package
use tokio as tokio1;
#[tokio1::main(crate = "tokio1")]
async fn main() {
    println!("Hello world");
}Equivalent code not using #[tokio::main]
use tokio as tokio1;
fn main() {
    tokio1::runtime::Builder::new_multi_thread()
        .enable_all()
        .build()
        .unwrap()
        .block_on(async {
            println!("Hello world");
        })
}