1
0
mirror of https://github.com/astaxie/beego.git synced 2025-06-14 07:30:40 +00:00
This commit is contained in:
Ming Deng
2020-08-29 01:17:43 +08:00
parent c2361170b3
commit 81b9a1382a
11 changed files with 215 additions and 57 deletions

View File

@ -165,7 +165,35 @@ func (c *JSONConfigContainer) String(key string) (string, error) {
return v, nil
}
}
return "", errors.New(fmt.Sprintf("config not found or is not string, key: %s", key))
return "", nil
}
// DefaultString returns the string value for a given key.
// if err != nil return defaultval
func (c *JSONConfigContainer) DefaultString(key string, defaultval string) string {
// TODO FIXME should not use "" to replace non existence
if v, err := c.String(key); v != "" && err == nil {
return v
}
return defaultval
}
// Strings returns the []string value for a given key.
func (c *JSONConfigContainer) Strings(key string) ([]string, error) {
stringVal, err := c.String(key)
if stringVal == "" || err != nil {
return nil, err
}
return strings.Split(stringVal, ";"), nil
}
// DefaultStrings returns the []string value for a given key.
// if err != nil return defaultval
func (c *JSONConfigContainer) DefaultStrings(key string, defaultval []string) []string {
if v, err := c.Strings(key); v != nil && err == nil {
return v
}
return defaultval
}
// GetSection returns map for the given section