Подтвердить что ты не робот

Как мне вернуться с func main в Go?

Как мне вернуться из main с кодом выхода, как я бы в C? Контекст: я проверяю, что есть один аргумент командной строки, я буду печатать использование и возвращать код состояния ошибки, если аргумент count или аргумент недействителен.

4b9b3361

Ответ 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
}