Go by Example - IT: Exit

Usa os.Exit per terminare immediatamente l’esecuzione di un programma con un determinato valore di uscita.

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

I defer non saranno eseguiti con os.Exit, quindi questo fmt.Println non verrà mai eseguito.

    defer fmt.Println("!")

Terminiamo il programma col valore di uscita 3.

    os.Exit(3)
}

Nota che a differenza di C e simili, Go non usa un valore restituito da main() per indicare il valore di uscita. Se vuoi terminare il programma con un valore non-zero, usa os.Exit.

Se esegui exit.go usando go run, il valore di uscita verrà intercettato da Go e stampato.

$ go run exit.go
exit status 3

Compilando e eseguendo il programma potrai anche vedere il valore restituito nel terminale.

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

Nota che il ! del nostro programma non è mai stato stampato.