Go 示例: 退出

使用 os.Exit 立即退出并返回指定状态码。

package main
import (
    "fmt"
    "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

注意,我们程序中的 ! 永远没有被打印出来。