Use os.Exit to immediately exit with a given
status.
packagemain
import("fmt""os")
funcmain(){
defers will not be run when using os.Exit, so
this fmt.Println will never be called.
deferfmt.Println("!")
Exit with status 3.
os.Exit(3)}
Note that unlike e.g. C, Go does not use an integer
return value from main to indicate exit status. If
you’d like to exit with a non-zero status you should
use os.Exit.
If you run exit.go using go run, the exit
will be picked up by go and printed.
$ go run exit.go
exit status 3
By building and executing a binary you can see
the status in the terminal.
$ go build exit.go
$ ./exit
$ echo $?
3
Note that the ! from our program never got printed.