3.9. 配置方案的实现

说明

config 包是我们自定的包,对 Viper 第三方库的封装。封装以下逻辑:

  • 初始化
  • 读取配置文件
  • 设置配置项
  • 读取配置项

config 包以外的其他项目代码,将对内部使用依赖包 Viper 无感知。

这样做的好处是后续以为某些特殊需求,Viper 无法满足需求,或者 Viper 不再维护有更加优秀的第三方包需要替换。除了我们的 config 包,项目中的其他代码我们都不需要动。

接下来开始编码。

1. 安装依赖包

$ go get github.com/spf13/cast
$ go get github

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
讨论数量: 8

sunxyw
使用泛型改造 config 包
8 个点赞 | 3 个回复 | 代码速记 | 课程版本 1.17
苏亦坤
关于 Go 配置文件的最优设计方案?
6 个点赞 | 13 个回复 | 分享 | 课程版本 1.17
做饭君
这配置文件的代码有点硬将静态语言写成了动态语言的感觉
3 个点赞 | 1 个回复 | 问答 | 课程版本 1.17
Snow
原逻辑中需要完善处:关于配置文件后缀检测处的补充
2 个点赞 | 0 个回复 | 分享 | 课程版本 1.17
czy2020
同一个包下面使用import编辑器会有错误提示,
0 个点赞 | 4 个回复 | 分享 | 课程版本 1.17
bo792852176
app.go报错
0 个点赞 | 1 个回复 | 问答 | 课程版本 1.19
任飘渺
类似于Viper包最底层的封装是否需要详细了解?
0 个点赞 | 1 个回复 | 问答 | 课程版本 1.17
神棍也竹马
app.go文件有导入循环的错误,怎么解决?
0 个点赞 | 0 个回复 | 问答 | 课程版本 1.19