Go by Example: Exit

Use os.Exit to immediately exit with a given status.

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

defers will not be run when using os.Exit, so this fmt.Println will never be called.

	defer fmt.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.

Previous example: Signals.

Next example: HTTP Client.