Go による例: 終了

os.Exit を使用して、指定したステータスで直ちに終了します。

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

os.Exit を使用する場合、defer は実行されません。そのため、この fmt.Println は決して呼び出されません。

    defer fmt.Println("!")

ステータス 3 で終了します。

    os.Exit(3)
}

C などとは異なり、Go では main からの整数戻り値を使用して終了ステータスを示さないことに注意してください。ゼロ以外のステータスで終了したい場合は、os.Exit を使用する必要があります。

go run を使用して exit.go を実行すると、終了は go によって検出されて印刷されます。

$ go run exit.go
exit status 3

バイナリーをビルドして実行することで、端末でステータスを確認できます。

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

プログラムの ! は印刷されないことに注意してください。