diff --git a/config/ini.go b/config/ini.go index f8b9d01b..262f688b 100644 --- a/config/ini.go +++ b/config/ini.go @@ -214,7 +214,7 @@ func (c *IniConfigContainer) getdata(key string) string { k = sectionKey[0] } if v, ok := c.data[section]; ok { - if vv, ok2 := v[k]; ok2 { + if vv, ok := v[k]; ok { return vv } } diff --git a/config/json.go b/config/json.go index 332280f4..12b92e7d 100644 --- a/config/json.go +++ b/config/json.go @@ -29,13 +29,13 @@ func (js *JsonConfig) Parse(filename string) (ConfigContainer, error) { return nil, err } defer file.Close() - x := &JsonConfigContainer{ - data: make(map[string]interface{}), - } content, err := ioutil.ReadAll(file) if err != nil { return nil, err } + x := &JsonConfigContainer{ + data: make(map[string]interface{}), + } err = json.Unmarshal(content, &x.data) if err != nil { var wrappingArray []interface{} @@ -57,72 +57,61 @@ type JsonConfigContainer struct { // Bool returns the boolean value for a given key. func (c *JsonConfigContainer) Bool(key string) (bool, error) { - val := c.getdata(key) + val := c.getData(key) if val != nil { if v, ok := val.(bool); ok { return v, nil - } else { - return false, errors.New("not bool value") } - } else { - return false, errors.New("not exist key:" + key) + return false, errors.New("not bool value") } + return false, errors.New("not exist key:" + key) } // Int returns the integer value for a given key. func (c *JsonConfigContainer) Int(key string) (int, error) { - val := c.getdata(key) + val := c.getData(key) if val != nil { if v, ok := val.(float64); ok { return int(v), nil - } else { - return 0, errors.New("not int value") } - } else { - return 0, errors.New("not exist key:" + key) + return 0, errors.New("not int value") } + return 0, errors.New("not exist key:" + key) } // Int64 returns the int64 value for a given key. func (c *JsonConfigContainer) Int64(key string) (int64, error) { - val := c.getdata(key) + val := c.getData(key) if val != nil { if v, ok := val.(float64); ok { return int64(v), nil - } else { - return 0, errors.New("not int64 value") } - } else { - return 0, errors.New("not exist key:" + key) + return 0, errors.New("not int64 value") } + return 0, errors.New("not exist key:" + key) } // Float returns the float value for a given key. func (c *JsonConfigContainer) Float(key string) (float64, error) { - val := c.getdata(key) + val := c.getData(key) if val != nil { if v, ok := val.(float64); ok { return v, nil - } else { - return 0.0, errors.New("not float64 value") } - } else { - return 0.0, errors.New("not exist key:" + key) + return 0.0, errors.New("not float64 value") } + return 0.0, errors.New("not exist key:" + key) } // String returns the string value for a given key. func (c *JsonConfigContainer) String(key string) string { - val := c.getdata(key) + val := c.getData(key) if val != nil { if v, ok := val.(string); ok { return v - } else { - return "" } - } else { - return "" } + return "" } // Strings returns the []string value for a given key. @@ -140,39 +129,37 @@ func (c *JsonConfigContainer) Set(key, val string) error { // DIY returns the raw value by a given key. func (c *JsonConfigContainer) DIY(key string) (v interface{}, err error) { - val := c.getdata(key) + val := c.getData(key) if val != nil { return val, nil - } else { - return nil, errors.New("not exist key") } + return nil, errors.New("not exist key") } // section.key or key -func (c *JsonConfigContainer) getdata(key string) interface{} { +func (c *JsonConfigContainer) getData(key string) interface{} { c.RLock() defer c.RUnlock() if len(key) == 0 { return nil } - sectionkey := strings.Split(key, "::") - if len(sectionkey) >= 2 { - cruval, ok := c.data[sectionkey[0]] + sectionKey := strings.Split(key, "::") + if len(sectionKey) >= 2 { + curValue, ok := c.data[sectionKey[0]] if !ok { return nil } - for _, key := range sectionkey[1:] { - if v, ok := cruval.(map[string]interface{}); !ok { - return nil - } else if cruval, ok = v[key]; !ok { - return nil + for _, key := range sectionKey[1:] { + if v, ok := curValue.(map[string]interface{}); ok { + if v2, ok := v[key]; ok { + return v2 + } } } - return cruval - } else { - if v, ok := c.data[key]; ok { - return v - } + return nil + } + if v, ok := c.data[key]; ok { + return v } return nil }