本文整理汇总了Golang中github.com/spf13/cast.ToSliceE函数的典型用法代码示例。如果您正苦于以下问题:Golang ToSliceE函数的具体用法?Golang ToSliceE怎么用?Golang ToSliceE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ToSliceE函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: getMenusFromConfig
func (s *Site) getMenusFromConfig() Menus {
ret := Menus{}
if menus := viper.GetStringMap("menu"); menus != nil {
for name, menu := range menus {
m, err := cast.ToSliceE(menu)
if err != nil {
jww.ERROR.Printf("unable to process menus in site config\n")
jww.ERROR.Println(err)
} else {
for _, entry := range m {
jww.DEBUG.Printf("found menu: %q, in site config\n", name)
menuEntry := MenuEntry{Menu: name}
ime, err := cast.ToStringMapE(entry)
if err != nil {
jww.ERROR.Printf("unable to process menus in site config\n")
jww.ERROR.Println(err)
}
menuEntry.MarshallMap(ime)
if ret[name] == nil {
ret[name] = &Menu{}
}
*ret[name] = ret[name].Add(&menuEntry)
}
}
}
return ret
}
return ret
}
开发者ID:johnsto,项目名称:hugo,代码行数:33,代码来源:site.go
示例2: getMenusFromConfig
func (s *Site) getMenusFromConfig() Menus {
ret := Menus{}
if menus := viper.GetStringMap("menu"); menus != nil {
for name, menu := range menus {
m, err := cast.ToSliceE(menu)
if err != nil {
jww.ERROR.Printf("unable to process menus in site config\n")
jww.ERROR.Println(err)
} else {
for _, entry := range m {
jww.DEBUG.Printf("found menu: %q, in site config\n", name)
menuEntry := MenuEntry{Menu: name}
ime, err := cast.ToStringMapE(entry)
if err != nil {
jww.ERROR.Printf("unable to process menus in site config\n")
jww.ERROR.Println(err)
}
menuEntry.MarshallMap(ime)
if strings.HasPrefix(menuEntry.Url, "/") {
// make it match the nodes
menuEntryUrl := menuEntry.Url
menuEntryUrl = helpers.UrlizeAndPrep(menuEntryUrl)
if !s.Info.canonifyUrls {
menuEntryUrl = helpers.AddContextRoot(string(s.Info.BaseUrl), menuEntryUrl)
}
menuEntry.Url = menuEntryUrl
}
if ret[name] == nil {
ret[name] = &Menu{}
}
*ret[name] = ret[name].Add(&menuEntry)
}
}
}
return ret
}
return ret
}
开发者ID:jaden,项目名称:hugo,代码行数:44,代码来源:site.go
示例3: Flatten
func (c *FlatMapConfig) Flatten(src interface{}) (map[string]interface{}, error) {
var err error
result := make(map[string]interface{})
if reflect.TypeOf(src).Kind() == reflect.Map {
var s map[string]interface{}
s, err = cast.ToStringMapE(src)
if err != nil {
return result, err
}
for k, raw := range s {
err = c.flatten(result, k, reflect.ValueOf(raw))
if err != nil {
break
}
}
} else if reflect.TypeOf(src).Kind() == reflect.Slice {
var s []interface{}
s, err = cast.ToSliceE(src)
if err != nil {
return result, err
}
for i, raw := range s {
err = c.flatten(result, c.sliceKeyTemplate(i), reflect.ValueOf(raw))
if err != nil {
break
}
}
} else {
err = fmt.Errorf("Unknown type for interface")
}
return result, err
}
开发者ID:turtlemonvh,项目名称:mapmap,代码行数:38,代码来源:flatten.go
示例4: getMenusFromConfig
func (s *Site) getMenusFromConfig() Menus {
ret := Menus{}
if menus := viper.GetStringMap("menu"); menus != nil {
for name, menu := range menus {
m, err := cast.ToSliceE(menu)
if err != nil {
jww.ERROR.Printf("unable to process menus in site config\n")
jww.ERROR.Println(err)
} else {
for _, entry := range m {
jww.DEBUG.Printf("found menu: %q, in site config\n", name)
menuEntry := MenuEntry{Menu: name}
ime, err := cast.ToStringMapE(entry)
if err != nil {
jww.ERROR.Printf("unable to process menus in site config\n")
jww.ERROR.Println(err)
}
menuEntry.MarshallMap(ime)
if strings.HasPrefix(menuEntry.Url, "/") {
// make it absolute so it matches the nodes
menuEntry.Url = s.permalinkStr(menuEntry.Url)
}
if ret[name] == nil {
ret[name] = &Menu{}
}
*ret[name] = ret[name].Add(&menuEntry)
}
}
}
return ret
}
return ret
}
开发者ID:jempe,项目名称:hugo,代码行数:37,代码来源:site.go
注:本文中的github.com/spf13/cast.ToSliceE函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论