在自己写的组件里面,通常会遇到一些需要读取配置文件的情况。在使用beego时,是使用自带的方法获取./conf/app.conf文件中的内容,但在一个非beego框架的组件里并不想引入beego,于是乎学习了另外一个专门用来读取配置的包:“viper”。
功能特征
设置默认值
从JSON,toml YAML,HCl,和java属性配置文件
从环境变量env读取值
读缓冲区
远程读取配置文件
key不区分大小写
初始化
func init() { |
存取配置
viper包下有很多的Get开头的方法,对应着不同类型数据的获取,常用的如GetInt(),GetString(),GetIntSlice(),GetStringSlice()等等,都非常好理解,同样的取数据就是Set开头
phalgo.Config.Get(key string) : interface{}phalgo.Config.GetBool(key string) : boolphalgo.Config.GetFloat64(key string) : float64phalgo.Config.GetInt(key string) : intphalgo.Config.GetString(key string) : stringphalgo.Config.GetStringMap(key string) : map[string]interface{}phalgo.Config.GetStringMapString(key string) : map[string]stringphalgo.Config.GetStringSlice(key string) : []stringphalgo.Config.GetTime(key string) : time.Timephalgo.Config.GetDuration(key string) : time.Durationphalgo.Config.IsSet(key string) : bool
[ljy__user] |
对于上面的配置例子就包含了int,string,[]string的类型,同时也有子元素的存取,就像结构体一样。
SubTableField := viper.GetString("ljy__user.sharding") |
END