本书未发布
8.3. Eudore配置
package main
/*
ConfigEudore需要使用指定对象保存配置,默认为map[string]interface{}。
可以自己指定结构体来保存配置,例如example中Config对象指定的user.name就是展开的一层结构体或map后设置,详细查看eudore.Set函数的文档。
config的Get & Set方法使用eudore.Get & eudore.Set方法实现。
*/
import (
"github.com/eudore/eudore"
)
type (
eudoreConfig struct {
Bool bool `alias:"bool"`
Int int `alias:"int"`
String string `alias:"string"`
User user `alias:"user"`
Struct interface{} `alias:"struct"`
}
user struct {
Name string `alias:"name"`
Mail string `alias:"mail"`
}
)
func main() {
conf := &eudoreConfig{}
app := eudore.NewApp(eudore.NewConfigEudore(conf))
// 设属性
app.Set("int", 20)
app.Set("string", "app set string")
app.Set("bool", true)
app.Set("user.name", "EudoreName")
app.Set("struct", struct {
Name string
Age int
}{"eudore", 2020})
app.Set("field", "not found")
// 读取部分配置
app.Debugf("%#v", app.GetInt("int"))
app.Debugf("%#v", app.GetInt("string"))
app.Debugf("%#v", app.GetString("string"))
app.Debugf("%#v", app.GetBool("bool"))
app.Debugf("%#v", app.Get("struct"))
app.Debugf("%#v", app.Get("field"))
// 输出全部配置信息
app.Debugf("%#v", conf)
app.Debugf("%#v", app.Get(""))
app.CancelFunc()
app.Run()
}
反馈和交流请加群组:QQ 群 373278915。
推荐文章: