以下是获取正在运行的用户主目录的最佳方式吗?或者是否有我看过的特定功能?
os.Getenv("HOME")
如果以上是正确的,有没有人碰巧知道这种方法是否可以保证在非 Linux 平台上工作,例如 Windows?
从 go 1.12 开始,推荐的方法是:
package main import ( "os" "fmt" "log" ) func main() { dirname, err := os.UserHomeDir() if err != nil { log.Fatal( err ) } fmt.Println( dirname ) }
旧推荐:
在 go 1.0.3(也可能更早)中,以下工作:
package main import ( "os/user" "fmt" "log" ) func main() { usr, err := user.Current() if err != nil { log.Fatal( err ) } fmt.Println( usr.HomeDir ) }