我想在我的项目中添加一个配置,我有这样一个项目结构:app: -cmd - main -app.go -internal - config -config.go -pkg config.yaml go.mod go.sum在配置文件中,我想读取 config.yaml:func GetConfig() *Config { once.Do(func() { instance = &Config{} logger := logging.GetLogger("info") logger.Info("start config initialisation") if err := cleanenv.ReadConfig("config.yaml", instance); err != nil { help, _ := cleanenv.GetDescription(instance, nil) logger.Info(help) logger.Fatal(err) } }) return instance}我得到一个错误:系统找不到指定的文件。要修复它,我需要将配置文件移动到启动应用程序的文件夹,即cmd/main 我想知道是否有可能以某种方式修复它,以便该文件与项目以及go.mod等等。我试图在读取文件的地方指定不同的路径,但没有任何效果。我使用 cleanenv 库进行阅读
1 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
wd,err := os.Getwd()
if err != nil {
// handle error
}
parentTop := filepath.Dir(wd) // if your working directory is top level you can skip this step
// and wd instead
然后使用父母和parentTop +"/pkg/config.yaml"
- 1 回答
- 0 关注
- 72 浏览
添加回答
举报
0/150
提交
取消