[pkg] os
os @ golang
Functions
os.Args:取得使用者在指令後輸入的參數
$ go run main.go foo bar
若想取得 foo 和 bar 可以使用 os.Args
這個方法,預設 os.Args[0]
會是執行該 go 執行檔的路徑,而 os.Args[1]
之後可以取得對應的參數:
func main() {
fmt.Println(os.Args[0]) // /var/folders/.../main
fmt.Println(os.Args[1]) // foo
fmt.Println(os.Args[2]) // bar
}
os.IsNotExist():判斷檔案是否存在
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)
}
}
os.Exit:終止程序 Exit
// 慣例上 code 為 0 表示程式執行成功後結束,0 以外的數字則表示程式因錯誤而結束
// func Exit(code int)
os.Exit(1)
os.Remove:移除檔案 Remove
移除指定的檔案或空資料夾:
// func Remove(name string) error
os.Remove("some-file")
os.Getwd:取得執行 go run 指令的資料夾
dir, err := os.Getwd()
if err != nil {
log.Fatal(err)
}
fmt.Println(dir)
os.WriteFile:儲存檔案
data := []byte("Hello Go")
err := os.WriteFile("example/foo.txt", data, 0644)
if err != nil {
panic(err)
}
ENV
os.LookupEnv(key string) (string, bool)
:讀取並檢查 ENV variable 是否存在os.GetEnv(key string) string
:讀取 ENV variable