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

耶罗恩

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

fn main() {

}

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

0 0

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>> {
   ...
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么主函数没有返回值就可以工作?

来自分类Dev

为什么主函数没有返回值就可以工作?

来自分类Dev

为什么没有从函数返回值?

来自分类Dev

如何从MIPS中的主函数返回值?

来自分类Dev

如何从函数返回值

来自分类Dev

如何从gwidgets中的函数返回值

来自分类Dev

如何从函数中的exec返回值?

来自分类Dev

如何从gwidgets中的函数返回值

来自分类Dev

如何从Java中的函数返回值?

来自分类Dev

在Swift中没有返回值的函数返回

来自分类Dev

为什么没有返回值的函数在 perl 中有值?

来自分类Dev

如何使主方法计算返回值?

来自分类Dev

函数不返回值,为什么?

来自分类Dev

返回值1和返回值0有什么区别?以及在给定代码中回溯如何工作?

来自分类Dev

如何在java8中定义没有args或返回值的函数?

来自分类Dev

为什么finger没有非零的返回值?

来自分类Dev

为什么没有返回值而是给出 null

来自分类Dev

如何从返回值的函数中不返回任何内容?

来自分类Dev

如何在rust中的for循环内返回值?

来自分类Dev

如何从_calling_函数返回值?

来自分类Dev

如何模拟类的函数的返回值?

来自分类Dev

如何终止递归函数并返回值

来自分类Dev

如何从EventEmitter函数返回值?

来自分类Dev

如何从扩展的casperjs函数返回值?

来自分类Dev

如何从Node的父函数返回值?

来自分类Dev

如何从Volley的onResponse函数返回值?

来自分类Dev

如何从jQuery函数返回值?

来自分类Dev

如何从改造的onResponse函数返回值?

来自分类Dev

如何从外部JavaScript函数返回值