概念簡介
使用 `os.Exit` 來立即進行帶給定狀態的退出。
例程
package main
import "fmt"
import "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
# 注意我們程序中的 `!` 永遠不會被打印出來,原因見Go語言教程:Defer
課程導航
學習上一篇,Go語言教程:信號
相關資料
本例程github源代碼:https://github.com/xg-wang/gobyexample/tree/master/examples/exit