天天看点

PhalGo-Viper获取配置PhalGo-Viper获取配置

PhalGo-Viper获取配置PhalGo-Viper获取配置

viper是国外大神spf13编写的开源配置解决方案,viper拥有一下功能以及特性如下:

设置默认值

从json,toml yaml,hcl,和java属性配置文件

从环境变量env读取值

读缓冲区

远程读取配置文件

key不区分大小写

viper不用担心你的文件格式,可以获取环境变量,也可以从远端获取配置文件,并且还有缓冲机制,功能非常棒非常牛逼,能满足不同的对配置文件的使用的要求,所以phalgo采用viper来解决配置问题

phalgo追求最简单的使用各个组件所以viper我们只需要初始化就可以开始使用,我们只需要调用newconfig函数需要你传入两个参数,一个是你文件相对于项目目录的相对路径,比如我在项目目录下建立的/conf文件目录就需要填写conf,第二个就是配置文件文件名,只需要名称即可,可以不用输入后缀viper会自动识别.

比如我们创建了一个sys.toml文件内容如下:

我们就可以简单的使用

phalgo.config和"github.com/spf13/viper"是等价的,所以可以通过phalgo.config来调用viper提供的方法

phalgo.config.get(key string) : interface{}

phalgo.config.getbool(key string) : bool

phalgo.config.getfloat64(key string) : float64

phalgo.config.getint(key string) : int

phalgo.config.getstring(key string) : string

phalgo.config.getstringmap(key string) : map[string]interface{}

phalgo.config.getstringmapstring(key string) : map[string]string

phalgo.config.getstringslice(key string) : []string

phalgo.config.gettime(key string) : time.time

phalgo.config.getduration(key string) : time.duration

phalgo.config.isset(key string) : bool

viper支持获取配置的层级关系,在每个key之间通过"."分割机制,比如上面演示的

就是获取的二级参数

viper提供很多有意思的功能,可以通过开篇viper项目地址进行了解