PJCHENder 未整理筆記

[Go] pkg - os

2019-05-11

[Go] pkg - os

os @ golang

取得使用者在指令後輸入的參數:os.Args

1
$ go run main.go foo bar

若想取得 foo 和 bar 可以使用 os.Args 這個方法,預設 os.Args[0] 會是執行該 go 執行檔的路徑,而 os.Args[1] 之後可以取得對應的參數:

1
2
3
4
5
func main() {
fmt.Println(os.Args[0]) // /var/folders/.../main
fmt.Println(os.Args[1]) // foo
fmt.Println(os.Args[2]) // bar
}

判斷檔案是否存在:os.IsNotExist()

1
2
3
4
5
6
7
8
in, err := ioutil.ReadFile(fname)
if err != nil {
if os.IsNotExist(err) {
fmt.Println("File is not existed")
} else {
fmt.Println("Error reading file:", err)
}
}

終止程序 Exit:os.Exit

1
2
3
4
// 慣例上 code 為 0 表示程式執行成功後結束,0 以外的數字則表示程式因錯誤而結束
// func Exit(code int)

os.Exit(1)

移除檔案 Remove:os.Remove

移除指定的檔案或空資料夾:

1
2
3
// func Remove(name string) error

os.Remove("some-file")

取得執行 go run 指令的資料夾:os.Getwd

1
2
3
4
5
dir, err := os.Getwd()
if err != nil {
log.Fatal(err)
}
fmt.Println(dir)

參考

掃描二維條碼,分享此文章