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