清華尹成帶你實戰GO案例(7)Go Exit
Go Exit
使用 os.Exit 可以給定一個狀態,然後立刻退出程式執行。
注意,Go和C語言不同,main函式並不返回一個整數來表示程式的退出狀態,而是將退出狀態作為
os.Exit 函式的引數。
如果你使用 go run 來執行程式,將會有如下輸出
exit status 3
如果你使用 go build 先編譯程式,然後再執行可執行檔案,程式將不會有輸出。
如果你想檢視程式的返回值,*nix系列系統下面使用如下方法:
$ ./go_exit
$ echo $?
3
使用 os.Exit 可以給定一個狀態,然後立刻退出程式執行。
package main
import "fmt"
import "os"
func main() {
// 當使用`os.Exit`的時候defer操作不會被執行,
// 所以這裡的``fmt.Println`將不會被呼叫
defer fmt.Println("!")
// 退出程式並設定退出狀態值
os.Exit(3)
}
注意,Go和C語言不同,main函式並不返回一個整數來表示程式的退出狀態,而是將退出狀態作為
os.Exit 函式的引數。
如果你使用 go run 來執行程式,將會有如下輸出
exit status 3
如果你使用 go build 先編譯程式,然後再執行可執行檔案,程式將不會有輸出。
如果你想檢視程式的返回值,*nix系列系統下面使用如下方法:
$ ./go_exit
$ echo $?
3
相關文章
- 清華尹成帶你實戰GO案例(7)Go DeferGo
- 清華尹成帶你實戰GO案例(28)Go 方法Go
- 清華尹成帶你實戰GO案例(35)Go 互斥Go
- 清華尹成帶你實戰GO案例(38)Go 介面Go
- 清華尹成帶你實戰GO案例(46)Go 排序Go排序
- 清華尹成帶你實戰GO案例(47)Go 切片Go
- 清華尹成帶你實戰GO案例(2) Go 字典Go
- 清華尹成帶你實戰GO案例(12)Go PanicGo
- 清華尹成帶你實戰GO案例(22)Go常量Go
- 清華尹成帶你實戰GO案例(29)Go 工作池Go
- 清華尹成帶你實戰GO案例(37)Go 集合功能Go
- 清華尹成帶你實戰GO案例(49)Go 時間Go
- 清華尹成帶你實戰GO案例(52)Go數值Go
- 清華尹成帶你實戰GO案例(54)Go 陣列Go陣列
- 清華尹成帶你實戰GO案例(57)Go通道方向Go
- 清華尹成帶你實戰GO案例(63)Go 指標Go指標
- 清華尹成帶你實戰GO案例(8)Go for迴圈Go
- 清華尹成帶你實戰GO案例(10)Go JSON支援GoJSON
- 清華尹成帶你實戰GO案例(11)Go Line FiltersGoFilter
- 清華尹成帶你實戰GO案例(17) Go URL解析Go
- 清華尹成帶你實戰GO案例(19)Go變數Go變數
- 清華尹成帶你實戰GO案例(23)Go 超時Go
- 清華尹成帶你實戰GO案例(30)Go 關閉通道Go
- 清華尹成帶你實戰GO案例(39)Go 結構體Go結構體
- 清華尹成帶你實戰GO案例(40)Go 程式觸發Go
- 清華尹成帶你實戰GO案例(41)Go 程式執行Go
- 清華尹成帶你實戰GO案例(50)Go 時間戳Go時間戳
- 清華尹成帶你實戰GO案例(53)Go 數字解析Go
- 清華尹成帶你實戰GO案例(55)Go 隨機數Go隨機
- 清華尹成帶你實戰GO案例(58)Go通道緩衝Go
- 清華尹成帶你實戰GO案例(5)Go 自定義排序Go排序
- 清華尹成帶你實戰GO案例(13)Go range函式Go函式
- 清華尹成帶你實戰GO案例(16)Go Switch語句Go
- 清華尹成帶你實戰GO案例(20)Go 遍歷通道Go
- 清華尹成帶你實戰GO案例(25)Go 打點器Go
- 清華尹成帶你實戰GO案例(27)Go 讀取檔案Go
- 清華尹成帶你實戰GO案例(31)Go 函式定義Go函式
- 清華尹成帶你實戰GO案例(33)Go 函式回撥Go函式