我正在尝试使用 Go OS 在我的机器上设置一些环境变量
err := os.Setenv("DBHOST", dbHostLocal)
if err != nil {
log.Fatalf("err %v", err)
}
该变量似乎可用于 Go 程序,但一旦我退出/终止 Go 进程,该变量就不再可用。我想知道是否可以永久设置这些变量。原因是我想为本地和开发环境创建一个带有配置文件(数据库名称等)的“设置”文件,这样我就可以在没有任何设置的情况下进行切换……只需运行一次 setup.go .
最佳答案
短:这是不可能的。您无法更改父进程的环境。只能自己改变,传给 child 。
您应该做的是维护一个配置文件。 那里有很多 go 配置库:ini、yaml 等。
如果您的程序更改了配置,请在每次更改后或每隔一段时间或在进程退出时将其保存到磁盘。
关于go - 如何设置持久的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24938877/