在自己写的组件里面,通常会遇到一些需要读取配置文件的情况。在使用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) : 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
[ljy__user] |
对于上面的配置例子就包含了int,string,[]string的类型,同时也有子元素的存取,就像结构体一样。
SubTableField := viper.GetString("ljy__user.sharding") |
END