这配置文件的代码有点硬将静态语言写成了动态语言的感觉

如标题,之前写其他的项目都是直接加载一个.json文件,在初始化时反序列化为一个结构体对象,用的时候,也会有代码提示,比较方便,感觉更符合静态语言的特点,不知道我的理解对不对

讨论数量: 1

同意,这其实感觉还是在以php的方式解决配置,而不是以go方式。有几个点我觉得非常不好

  • 首先:使用字符串的形式获取配置文件,从JVM语言过来的我,隐约嗅到了不安全的味道
  • 其次:env文件中还是以环境变量的形式APP_NAME这种定义变量,使用时却是app.name形式,这期间的转换方式在config/app.go下实现,既然想实现多级配置效果,那么多配置都可以实现 yaml、json、properties等。env绝对不是一个好的方式。
  • 最后:不理解作者为何要包这么一层,我能想到的原因就是不想要viper入侵到业务代码,但是我真的觉得没有必要。就配置viper就行了

当然,上面最后一点有点牵强。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!