Is the following the best way of obtaining the running user's home directory? Or is there a specific function that I've ovelooked?
os.Getenv("HOME")
If the above is correct, does anyone happen to know whether this approach is guaranteed to work on non-Linux platforms, e.g. Windows?
Since go 1.12 the recommended way is:
package main
import (
"os"
"fmt"
"log"
)
func main() {
dirname, err := os.UserHomeDir()
if err != nil {
log.Fatal( err )
}
fmt.Println( dirname )
}
Old recommendation:
In go 1.0.3 ( probably earlier, too ) the following works:
package main
import (
"os/user"
"fmt"
"log"
)
func main() {
usr, err := user.Current()
if err != nil {
log.Fatal( err )
}
fmt.Println( usr.HomeDir )
}