Rust 可以坐大巴回来吗?

Rust 可以坐大巴回来吗?,rust,Rust,由于主电源返回类型是一个空元组(),因此使用返回是否被视为一种变通方法在fn main()中?我想结束我的程序,但不想惊慌失措,我只想平静地结束。有没有一种标准的方法可以提前结束main?或者这样可以吗?我来自C++背景,如果你需要从一个不返回任何值的函数返回,你可能不应该使用 Value,所以我想知道,这不是一个相同的情况吗? 在语言层面上,像这样早点回来是完全可以的。在这种情况下,您可能还喜欢该函数,它还允许设置进程的返回代码。当您使用std::process::exit?@WiSaGaN:

由于主电源返回类型是一个空元组
()
,因此使用
返回是否被视为一种变通方法
fn main()
中?我想结束我的程序,但不想惊慌失措,我只想平静地结束。有没有一种标准的方法可以提前结束main?或者这样可以吗?我来自C++背景,如果你需要从一个不返回任何值的函数返回,你可能不应该使用<代码> Value,所以我想知道,这不是一个相同的情况吗?
在语言层面上,像这样早点回来是完全可以的。在这种情况下,您可能还喜欢该函数,它还允许设置进程的返回代码。

当您使用
std::process::exit
?@WiSaGaN:请注意,由于此函数永远不会返回,并且它会终止进程,因此当前堆栈或任何其他线程堆栈上的析构函数都不会运行。如果需要完全关闭,建议只在已知点调用此函数,该点没有更多的析构函数可以运行为什么我们不能像往常一样简单地从main返回错误代码?
std::process::exit
使用起来似乎相当麻烦。只要你在main方法中使用
std::process::exit
而不是在应用程序中任意使用,析构函数的说明就不应该太重要了,因为它保证了用户的所有权不过,当多线程开始发挥作用时,它会变得有点棘手。
fn main() {
    // ...

    // if no cline args display usage and end
    if matches.free.is_empty() {
        print_usage(&program, options);
        return;

    // program continues
}