为了账号安全,请及时绑定邮箱和手机立即绑定

在多个 Golang 程序之间传递配置值

在多个 Golang 程序之间传递配置值

Go
临摹微笑 2022-01-17 18:21:46
我有兴趣在多个 golang 程序之间传递配置值。我已经尝试过环境变量,但它们不能被设置它们的程序以外的程序读取。我已经测试过,我确定环境变量正在被设置,并且可以在设置它的同一进程中读取。此外,如果我通过第一个过程调用第二个过程,它将打印它:package mainimport (    "bufio"    "fmt"    "os")    func main() {    os.Setenv("AVARIABLE", "12345")    reader := bufio.NewReader(os.Stdin)    fmt.Print("Enter text: ")    _, _ = reader.ReadString('\n')    fmt.Println("exiting")}              和package mainimport (    "fmt"    "os")func main() {    fmt.Println(os.Getenv("AVARIABLE"))}环境变量上下文对于我的目的来说太窄了。我正在考虑这些选项:在 at 创建一个文件/etc/profile.d/<filename>.sh并运行source /etc/profile.d/<filename>.sh,以便更全局地设置变量。在任何人都可以阅读的地方创建一个文件并避免环境变量问题。有没有更好的方法?我应该如何进行?
查看完整描述

1 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

如果您只想共享可能在运行时更改的配置,则拥有一个共享配置文件,该文件可以定期或在发生更改时读取。当文件更改时,您可以使用一些机制来通知您,但这些机制可能取决于操作系统。

另一种选择是使用某种形式的进程间通信,但如果您只想共享一些配置变量,这可能有点多。


查看完整回答
反对 回复 2022-01-17
  • 1 回答
  • 0 关注
  • 145 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信