字节笔记本字节笔记本

Go 退出当前进程

2022-05-16

Go语言中,使用`os.Exit(code)`可以立即退出当前进程并返回指定状态码,且不会执行`defer`函数。

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) 之间的任何其他数值表示程序遇到错误。