使用os.Exit立即結束程式,並傳遞狀態。
os.Exit
package main
import ( "fmt" "os" )
func main() {
使用os.Exit時,不會執行defer,因此永遠不會叫用這個fmt.Println。
defer
fmt.Println
defer fmt.Println("!")
Exit程式,並傳遞狀態3。
os.Exit(3) }
請注意,Go不像C,不會使用整數回傳值從main來指示Exit狀態。如果您想使用非零狀態Exit,則應該使用os.Exit。
main
如果您使用go run執行exit.go,這個Exit將會被go選取並印出。
go run
exit.go
go
$ go run exit.go exit status 3
透過建置與執行一個二進位檔案,您可以在終端機中看到狀態。
$ go build exit.go $ ./exit $ echo $? 3
請注意,程式中的!從未被印出。
!
作者:Mark McGranaghan和Eli Bendersky | 來源程式碼 | 授權條款