From 39fc30b8b2268edbbdab2893b843ec6be50330aa Mon Sep 17 00:00:00 2001 From: guomao545 Date: Fri, 27 Jul 2018 15:33:24 +0800 Subject: [PATCH] Support return middle level value fix multilevel yaml config can't correct return middle level value bug --- config/yaml/yaml.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config/yaml/yaml.go b/config/yaml/yaml.go index 881737e3..7bf1335c 100644 --- a/config/yaml/yaml.go +++ b/config/yaml/yaml.go @@ -290,12 +290,15 @@ func (c *ConfigContainer) getData(key string) (interface{}, error) { keys := strings.Split(key, ".") tmpData := c.data - for _, k := range keys { + for idx, k := range keys { if v, ok := tmpData[k]; ok { switch v.(type) { case map[string]interface{}: { tmpData = v.(map[string]interface{}) + if idx == len(keys) - 1 { + return tmpData, nil + } } default: {