在 Rust 中,函数通常返回一个值,但有时你可能需要表示一个函数永远不会返回。这通过 ! 类型(称为 never 类型)来实现,它表示函数会无限循环或导致程序终止。

什么是 ! 返回类型

! 类型是 Rust 中的一个特殊类型,表示函数永远不会正常返回;这些函数要么终止程序,要么永远运行下去。

手动触发panic

fn never_returns() -> ! {
    panic!("This function never returns!");
}

程序退出或终止:

fn exit_program() -> ! {
    std::process::exit(0);
    // std::process::abort();
}

一个函数包含无限循环时,可以声明为返回 ! 类型,因为循环永远不会结束:

fn infinite_loop() -> ! {
    loop {
        println!("Looping forever...");
    }
}