Go в примерах: Выход (Exit)

Используйте os.Exit для незамедлительного выхода из программы с указаным статусом

package main
import "fmt"
import "os"
func main() {

deferы не будут вызваны при использовании os.Exit, так что этот fmt.Println никогда не будет вызван

    defer fmt.Println("!")

Выход со статусом 3.

    os.Exit(3)
}

В отличии от С, Go не использует целое число как значение для выхода из main для индикации статуса выхода. Если вы хотите завершить программу с ненулевом статусом, используйте os.Exit.

Если вы запустите exit.go используя go run, статус выхода будет подхвачен go и выведен.

$ go run exit.go
exit status 3

При компиляции и вызове исполняемого файла вы увидите статус выхода в терминале.

$ go build exit.go
$ ./exit
$ echo $?
3

Стоит напомнить, что "!" никогда не будет выведен вашей программой.