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

如何打开位于不包含主文件的文件夹中的配置文件?

如何打开位于不包含主文件的文件夹中的配置文件?

Go
素胚勾勒不出你 2023-01-03 16:16:32
我想在我的项目中添加一个配置,我有这样一个项目结构: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"


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

添加回答

举报

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