Code-Memo

os

Process and operating system interface: files, environment, arguments, process control.

Args and exit
import "os"

args := os.Args // [0] is program name
os.Exit(1)      // does not run deferred functions
Environment
v := os.Getenv("HOME")
_ = os.Setenv("KEY", "value")
Files and directories
data, err := os.ReadFile("path")
err = os.WriteFile("path", data, 0o644)
err = os.MkdirAll("a/b", 0o755)
Rename / remove
err := os.Rename("old", "new")
err = os.Remove("file")
err = os.RemoveAll("tree")
Stat
fi, err := os.Stat("path")
if err != nil {
	if os.IsNotExist(err) {
		// ...
	}
}
_ = fi.Mode()
_ = fi.IsDir()
Executable path
exe, err := os.Executable()
fs.DirFS (Go 1.16+)
root := os.DirFS(".")

Use with fs.WalkDir for portable directory walks.