Golang配置文件应该加载自己的包

时间:2017-12-24 06:11:43

标签: go

我有两个项目 1. Web项目 2.经纪人项目

services
    -web/util.go
    -main.go
    -cofig.json


broker
    -consumer/redis.go
    -consumer/mongo.go
    -main.go
    -<cofig.go>   //I do not want to make a copy here

我为我的web项目开发了一个使用config.json文件的实用程序。在该实用程序中,我使用像

这样的代码
file, _ := os.Open("./config.json")

工作正常。 当我将这个项目包含在像

这样的Broker项目中时
package "services/web"

我试图在其中使用实用程序代码,但它试图找到&#39; config.json&#39;来自Broker项目,而不是&#34;服务web项目&#34;。由于这个原因,我需要在Broker项目中复制相同的文件。

请帮助我将单个文件保存在&services / web&#39;

谢谢你的到来。

此致 Dinesh

1 个答案:

答案 0 :(得分:0)

您需要以不同方式解决问题。您正在将代码编译为单个二进制文件,因此在程序实际运行时,它已经丢失了所有的包结构。

最简单的解决方案是修改services/web以接受web.Config结构而不是从文件加载。然后,使用者(在这种情况下为broker包)负责提供配置。它可以根据需要使用文件。