Golang在模板中迭代地图

前端之家收集整理的这篇文章主要介绍了Golang在模板中迭代地图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图列出健身房类(瑜伽,普拉提等)。对于每个类类型有几个类,所以我想分组所有的瑜伽课,所有的普拉提类等。

我做了这个功能,拿一个切片,并制作一张地图

func groupClasses(classes []entities.Class) map[string][]entities.Class {
    classMap := make(map[string][]entities.Class)
    for _,class := range classes {
        classMap[class.ClassType.Name] = append(classMap[class.ClassType.Name],class)
    }
    return classMap
}

现在的问题是如何迭代它,根据http://golang.org/pkg/text/template/,你需要以.Key格式访问它,我不知道键(除非我也传递了一个键入模板)。如何在我的视图中解压缩此地图。

我现在所有的是

{{ . }}

其中显示类似:

map[Pilates:[{102 PILATES ~/mobifit/video/ocen.mpg 169 40 2014-05-03 23:12:12 +0000 UTC 2014-05-03 23:12:12 +0000 UTC 1899-12-30 00:00:00 +0000 UTC {PILATES Pilates 1 2014-01-22 21:46:16 +0000 UTC} {1 leebrooks0@gmail.com password SUPERADMIN Lee Brooks {Male true} {1990-07-11 00:00:00 +0000 UTC true} {1.85 true} {88 true} 2014-01-22 21:46:16 +0000 UTC {0001-01-01 00:00:00 +0000 UTC false} {0001-01-01 00:00:00 +0000 UTC false} {0001-01-01 00:00:00 +0000 UTC false}} [{1 Mat 2014-01-22 21:46:16 +0000 UTC}]} {70 PILATES ~/mobifit/video/ocen.mpg 119 66 2014-03-31 15:12:12 +0000 UTC 2014-03-31 15:12:12 +0000 UTC 1899-12-30 00:00:00 +0000 UTC
检查Go模板文档中的 Variables section。范围可以声明两个变量,用逗号分隔。以下应该工作:
{{ range $key,$value := . }}
   <li><strong>{{ $key }}</strong>: {{ $value }}</li>
{{ end }}

猜你在找的Go相关文章