1、直接获取配置文件
beego.AppConfig.String()
2、封装获取配置文件
// @Description 获取配置文件信息,用于启动时调试输出
func getConf(key string, keyType string) (value interface{}) {
// beego 获取配置文件时 会自动根据 run mode 获取 所以在这里不用判断
if keyType == "string" {
value = beego.AppConfig.String(key)
if len(strings.TrimSpace(value.(string))) == 0 {
fmt.Printf(key + " is empty.")
os.Exit(oerrno.OS_EXIT_FAIL)
}
olog.Debug(key, "=(%+v)", value.(string))
}
// todo 改为反射方式
if keyType == "bool" {
value, err := beego.AppConfig.Bool(key)
if err != nil {
fmt.Printf(key + "get error ")
os.Exit(oerrno.OS_EXIT_FAIL)
}
olog.Info(key, "=(%+v)", value)
}
if keyType == "int" {
value, err := beego.AppConfig.Int(key)
if err != nil {
fmt.Printf(key + "get error ")
os.Exit(oerrno.OS_EXIT_FAIL)
}
olog.Info(key, "=(%+v)", value)
}
return value
}
3、封装获取Json配置文件
func GetJsonConf(fileName, key string) (r ocommon.ResultInfo) {
assetConfig, err := config.NewConfig("json", fileName)
if err == nil {
ret, err1 := assetConfig.DIY(key)
if err1 != nil {
r.RawErr = err1
} else {
r.Data = ret
}
} else {
r.RawErr = err
}
return
}
注释:go中conf文件相关的函数
1)func (c *JSONConfigContainer) Bool(key string) (bool, error)
根据key获取值,并将其转成bool值
2)func (c *JSONConfigContainer) DefaultBool(key string, defaultval bool) bool
根据key获取值,并将其转成bool值,如果不存在值,则返回传入的默认值
3)func (c *JSONConfigContainer) Int(key string) (int, error)
根据key获取值,并将其转成int值
4)func (c *JSONConfigContainer) DefaultInt(key string, defaultval int) int
根据key获取值,并将其转成int值,如果不存在值,则返回传入的默认值
5)func (c *JSONConfigContainer) Int64(key string) (int64, error)
根据key获取值,并将其转成int64值
6)func (c *JSONConfigContainer) DefaultInt64(key string, defaultval int64) int64
根据key获取值,并将其转成int64值,如果不存在值,则返回传入的默认值
7)func (c *JSONConfigContainer) Float(key string) (float64, error)
根据key获取值,并将其转成float值
8)func (c *JSONConfigContainer) DefaultFloat(key string, defaultval float64) float64
根据key获取值,并将其转成float64值,如果不存在值,则返回传入的默认值
9)func (c *JSONConfigContainer) String(key string) string
根据key获取值,并将其转成string值
10)func (c *JSONConfigContainer) DefaultString(key string, defaultval string) string
根据key获取值,并将其转成string值,如果不存在值,则返回传入的默认值
11)func (c *JSONConfigContainer) Strings(key string) []string
根据key获取值,并将其转成[]string值
12)func (c *JSONConfigContainer) DefaultStrings(key string, defaultval []string) []string
根据key获取值,并将其转成[]string值,如果不存在值,则返回传入的默认值
13)func (c *JSONConfigContainer) GetSection(section string) (map[string]string, error)
获取值
14)func (c *JSONConfigContainer) SaveConfigFile(filename string) (err error)
将解析后的内容进行存储
15)func (c *JSONConfigContainer) Set(key, val string) error
将键值进行存储
16)func (c *JSONConfigContainer) DIY(key string) (v interface{}, err error)
以interface{]方式返回值
17)func (c *JSONConfigContainer) getData(key string) interface{} {
获取值
https://www.jianshu.com/p/958b499caf12