go html/template 部分功能使用

本文主要介绍range

1.{{range .Items}}

{{ . }}
{{else}}
no rows
{{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 = `


    
        
        {{.Title}}
    
    
        {{if .Items}}
            {{range .Items}}
{{ . }}
{{else}}
no rows
{{end}} {{else}}

list为空

{{end}} ` 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) }

你可能感兴趣的:(go html/template 部分功能使用)