os.Exit を使用して、指定したステータスで直ちに終了します。
os.Exit
package main
import ( "fmt" "os" )
func main() {
os.Exit を使用する場合、defer は実行されません。そのため、この fmt.Println は決して呼び出されません。
defer
fmt.Println
defer fmt.Println("!")
ステータス 3 で終了します。
os.Exit(3) }
C などとは異なり、Go では main からの整数戻り値を使用して終了ステータスを示さないことに注意してください。ゼロ以外のステータスで終了したい場合は、os.Exit を使用する必要があります。
main
go run を使用して exit.go を実行すると、終了は go によって検出されて印刷されます。
go run
exit.go
go
$ go run exit.go exit status 3
バイナリーをビルドして実行することで、端末でステータスを確認できます。
$ go build exit.go $ ./exit $ echo $? 3
プログラムの ! は印刷されないことに注意してください。
!
by マーク・マクグラナガン と イーライ・ベンダーキー | ソース | ライセンス