在 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...");
}
}