Go语言中,使用os.Exit
立即退出并返回给定状态。
当使用os.Exit
时,defers
不会运行。
package main import "fmt" import "os" func main() { // `defer`s will _not_ be run when using `os.Exit`, so // this `fmt.Println` will never be called. defer fmt.Println("!") // Exit with status 3. os.Exit(3) } // Note that unlike e.g. C, Go does not use an integer // return value from `main` to indicate exit status. If // you'd like to exit with a non-zero status you should // use `os.Exit`. Go
执行上面代码,将得到以下输出结果 -
F:\worksp\golang>go run exit.go exit status 3
函数定义:func Exit(code int)
Exit 函数可以让当前程序以给出的状态码 code 退出。一般来说,状态码 0 表示成功,非 0 表示出错。程序会立刻终止,并且 defer 的函数不会被执行。
通常,退出代码 0 表示程序成功执行。 1 到 125 (golang) 之间的任何其他数值表示程序遇到错误。