go-conf是使用Go实现的一个轻量级的config库,参考了ozzo-config的设计,但具有更优的性能和支持动态移植配置的功能。
go-conf采用MIT开源协议。
下载安装go get github.com/syyongx/cconf功能从配置文件中读取配置,默认支持JSON格式文件,提供了接口,也可非常方便地扩展支持其他格式配置文件;
可将一个go的结构体数据直接动态移植到config实例中;
不需要提前构建结构体就可以直接获取你想要的数据;
快速开始import github.com/syyongx/cconffunc main() { c := cconf.New() age := c.GetInt("age", 18) name := c.Get("name").(string) c.Set("email", "default@default.com") email := c.GetString("email")}接口New() *ConfRegisterLoadFunc(typ string, fn loadFunc)Load(files ...string) errorLoadWithPattern(pattern string) errorSet(key string, val interface{}) errorGet(key string, def ...interface{}) interface{}GetString(key string, def ...string) stringGetInt(key string, def ...int) intGetInt64(key string, def ...int64) int64GetFloat(key string, def ...float64) float64GetBool(key string, def ...bool) boolSetStore(data ...interface{})GetStore() interface{}Register(name string, provider interface{}) errorPopulate(v interface{}, key ...string) (err error)
评论