This commit is contained in:
yangheng 2024-11-13 18:35:11 +01:00 committed by GitHub
commit 49cd39ea07
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 19 additions and 0 deletions

View File

@ -781,6 +781,25 @@ func (v *Viper) Sub(key string) *Viper {
return nil
}
//Sub list returns new Viper instance List representing a sub tree of this instance.
func SubList(key string) []*Viper { return v.SubList(key) }
func (v *Viper) SubList(key string) []*Viper {
data := v.Get(key)
if data == nil {
return nil
}
var vList []*Viper
if reflect.TypeOf(data).Kind() == reflect.Slice {
for _, item := range data.([]interface{}) {
subv := New()
subv.config = cast.ToStringMap(item)
vList = append(vList, subv)
}
return vList
}
return nil
}
// GetString returns the value associated with the key as a string.
func GetString(key string) string { return v.GetString(key) }