Как мне вернуться из main
с кодом выхода, как я бы в C? Контекст: я проверяю, что есть один аргумент командной строки, я буду печатать использование и возвращать код состояния ошибки, если аргумент count или аргумент недействителен.
Как мне вернуться с func main в Go?
Ответ 1
Go использует функцию Exit. Просто передайте код статуса в качестве аргумента, и все готово:)
Ответ 2
Правильный ответ находится в ссылке 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
}