登录
首页 >  Golang >  Go问答

如何在外部 viper 存储库中配置我的工作

来源:stackoverflow

时间:2024-03-01 09:45:20 416浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《如何在外部 viper 存储库中配置我的工作》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

我需要设置我的配置文件的路径。问题是,例如,我的配置文件位于 my_app/config 中,但我的工作目录位于 my_app/workingdir 中,我不应该设置绝对路径或工作目录中的路径,因为在生产中绝对路径和工作目录会改变。对于测试,我知道我可以从代码位置设置路径,但我需要一种更简洁的方法。

workingdir, err := os.Getwd()
    if err != nil {
        logger.Error(err)
    }
    viper.SetConfigFile(workingdir + "/config/local.yaml")

解决方案


不要将配置文件保留在工作目录之外,始终在主包中创建一个新文件夹(例如conf)并将文件放入其中。

所以,目录结构将是

然后通过main.go的init函数将配置文件设置到viper中

//main.go
func init() {
  setUpViper()
}

func setUpViper() {
  viper.AddConfigPath("./conf")
  viper.SetConfigName("config")
}

本篇关于《如何在外部 viper 存储库中配置我的工作》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>