gpt4 book ai didi

return - 为什么Rust在主函数中没有返回值,以及无论如何如何返回一个值?

转载 作者:行者123 更新时间:2023-12-03 11:38:05 25 4
gpt4 key购买 nike

在Rust中,主要功能的定义如下:

fn main() {

}

但是,此函数不允许返回值。为什么一种语言不允许返回值,并且仍然有一种方法可以返回任何值?我是否可以安全地使用C exit(int)函数,否则会导致泄漏吗?

最佳答案

Rust 1.26开始,main可以返回Result:

use std::fs::File;

fn main() -> Result<(), std::io::Error> {
let f = File::open("bar.txt")?;

Ok(())
}

如果出现错误,在这种情况下返回的错误代码为1。而是使用 File::open("bar.txt").expect("file not found");,返回错误值101(至少在我的机器上)。

另外,如果要返回更通用的错误,请使用:
use std::error::Error;
...

fn main() -> Result<(), Box<dyn Error>> {
...
}

关于return - 为什么Rust在主函数中没有返回值,以及无论如何如何返回一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66300759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com