clq
浏览(405) -
2017-11-15 23:07:45 发表
编辑
关键字: golang
[2017-12-03 14:42:55 最后更新]
golang 模板中的循环及复杂结构体的传值
先来看两行代码
////put := make(map[string]string);
put := make(map[string]interface{});
网上的例子大多是第一种写法,但是当数据不是简单的基本类型时,就要把第二个参数改为 interface{} .
而这个 interface{} 是兼容前面的 string 的,也就是说 string 也是 interface{} 的一种 -- 如果按面向对象的思维来理解的话,那就是 interface{} 是所有类型的基类,
interface{} 也是 string 的基类. 当然了 golang 中应该不是这个概念,我对 go 的理解还不深还说不上非常精确的叙述.
--------------------------------------------------
map 在模板中的遍历如下
{{range $key, $value := .Pages}}
{{$key}}, {{$value}}
{{end}}
--------------------------------------------------
数组的遍历如下(books 是一个数组,其中每个元素是一个 map, Title, Author 是 map 中的键值)
{{range .books}}
<h1>{{.Title}} <small>{{.Author}}</small></h1>
{{end}}
--------------------------------------------------
如果是一个字符串的数组,则取到每个字符串是用无名称的单独一个 "." 符号(这个语法确实怪异),例如:
{{.}}
{{range .Var}} {{.}} {{end}}
--------------------------------------------------
另外默认下, "<!-- -->" 注释中的内容的不解析输出的
..草稿待补充..
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.