go - 获取用户的主目录

标签 go home-directory

以下是获取运行用户主目录的最佳方式吗?还是有我忽略的特定功能?

os.Getenv("HOME")

如果以上是正确的,有没有人碰巧知道这种方法是否可以保证在非 Linux 平台上工作,例如 window ?

最佳答案

从 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 )
}

关于go - 获取用户的主目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7922270/

相关文章:

go - if语句的多重赋值

go - 如何与 Golang echo 框架和 Telegram 机器人配合使用?

Android 获取应用程序的 'Home' 数据目录

linux - 将 $PATH 设置为 $HOME 的所有可能路径

go - 在 Go 中添加日期

firebase - 如何在Go Server应用程序中配置凭据文件以使用Firebase模拟器

go - 使用redis作为缓存,TTL和Mysql中每个表的字节大小限制

python - 如何使用python找到真正的用户主目录?

linux - 无法在 Linux 中的 QFileSystemModel 中显示主目录之上的任何内容

perl - 如何在 Perl 中查找用户的主目录?