使用范型优化你的配置函数
在go1.18 之前,config函数基本都是 GetString
、GetBool
、GetInt
。
新定义config函数,使用默认值确定返回的类型
// Config 获取config,格式必须是group.key,第二个可选参数为默认值
func Config[T int | string | bool](key string, def T) T {
val := app.GetBean("config").(app.Bean).GetBean(key)
if val == nil {
return def
}
return *val.(*T)
}
使用
port := app.Config("app.port", 80)
url := app.Config("app.url", "http://127.0.0.1")
debug := app.Config("app.debug", false)
推荐文章: