go html/template 部分功能使用

本文主要介绍range

1.{{range .Items}}<div>{{ . }}</div>{{else}}<div><strong>no rows</strong></div>{{end}}
遍历元素,如果元素为空执行eles
2.{{if .Items}} ... {{else}} ... {{end}}
如果数组为空则执行else

如果对你有帮助点个心心吧
上代码

package main

import (
    "html/template"
    "log"
    "os"
)

type Str struct {
    Name string
    Int  int
}

func main() {
    const tpl = `
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>{{.Title}}</title>
    </head>
    <body>
        {{if .Items}}
            {{range .Items}}<div>{{ . }}</div>{{else}}<div><strong>no rows</strong></div>{{end}}
        {{else}}
            <p>list为空</p>
        {{end}}
    </body>
</html>`

    check := func(err error) {
        if err != nil {
            log.Fatal(err)
        }
    }

    t, err := template.New("webpage").Parse(tpl)
    check(err)

    data := struct {
        Title string
        Items []Str
    }{
        Title: "My page",
        Items: []Str{
            {Name: "元素1name"},
            {Name: "元素2name"},
        },
    }
    err = t.Execute(os.Stdout, data)
    check(err)

    emptyItems := struct {
        Title string
        Items []string
    }{
        Title: "My white page",
        Items: []string{},
    }
    err = t.Execute(os.Stdout, emptyItems)
    check(err)
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容