如何从Go中的func main返回?

时间:2010-11-25 14:48:10

标签: go

如何使用退出代码从main返回,就像在C中一样? 上下文:我正在检查是否存在单个命令行参数,如果参数计数或参数无效,我将打印用法并返回错误状态代码。

2 个答案:

答案 0 :(得分:23)

Go使用Exit函数。只需将状态代码作为参数传递,您就完成了:)

答案 1 :(得分:11)

正确的答案在Matt Joiner的链接中。基本上是以下代码段。必须确保代码的其余部分在任何地方调用os.Exit(),例如flag.ExitOnError,log.Fatalf()等。

func main() { os.Exit(mainReturnWithCode()) }

func mainReturnWithCode() int {
    // do stuff, defer functions, etc.
    return exitcode // a suitable exit code
}