在线文档  >   Golang练习   >   退出

在 go 中,使用 os.Exit 函数可以立即退出程序,并指定退出状态。

package main

import (
    "fmt"
    "os"
)

func main() {

    // 如果使用 `os.Exit` 函数,则 `defer` 语句将不会被执行,
    // 因此该行代码将永远不会被执行。
    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

通过编译并执行一个二进制文件的方式,你可以在终端中查看退出状态。

注意,程序中的 ! 永远不会被打印出来。