Go:使用html/template在新行上打印切片中的每个元素

Go:使用html/template在新行上打印切片中的每个元素,go,Go,如何在新行上打印“苹果”、“橙色”和“梨” 去: const titlepage=` {{.Title} {{range$i:=.Body}{{$i}}{{end}} ` 类型tp结构{ 标题字符串 Body[]字符串 } func Read()([]字符串){ a:=[]字符串{“苹果”、“橘子”、“梨”} 归还 } func main(){ as:=tp{Title:“Hello”,Body:Read()} t:=template.Must(template.New(“Tele”).Pars

如何在新行上打印“苹果”、“橙色”和“梨”

去:

const titlepage=`
{{.Title}
{{range$i:=.Body}{{$i}}{{end}}
`
类型tp结构{
标题字符串
Body[]字符串
}
func Read()([]字符串){
a:=[]字符串{“苹果”、“橘子”、“梨”}
归还
}
func main(){
as:=tp{Title:“Hello”,Body:Read()}
t:=template.Must(template.New(“Tele”).Parse(titlepage))
t、 执行(os.Stdout,as)
}
电流输出:

<html>
<h1>Hello</h1>
<h1>appleorangepear</h1>
</html>

你好
苹果香梨

运行中的代码:

模板中的换行符将复制到结果中。如果您想在
{{$i}}
之后添加一个换行符,只需添加一个即可

编辑:如果希望在web浏览器中显示换行符,则需要使用HTML元素,如

,或将项目放入
  • (列表)中。我在代码中添加了一个

    const titlepage=`
    {{.Title}
    {{range$i:=.Body}{{$i}}
    {{end} ` 类型tp结构{ 标题字符串 Body[]字符串 } func Read()([]字符串){ a:=[]字符串{“苹果”、“橘子”、“梨”} 归还 } func main(){ as:=tp{Title:“Hello”,Body:Read()} t:=template.Must(template.New(“Tele”).Parse(titlepage)) t、 执行(os.Stdout,as) }
    模板中的换行符将复制到结果中。如果您想在
    {{$i}}
    之后添加一个换行符,只需添加一个即可

    编辑:如果希望在web浏览器中显示换行符,则需要使用HTML元素,如

    ,或将项目放入
  • (列表)中。我在代码中添加了一个

    const titlepage=`
    {{.Title}
    {{range$i:=.Body}{{$i}}
    {{end} ` 类型tp结构{ 标题字符串 Body[]字符串 } func Read()([]字符串){ a:=[]字符串{“苹果”、“橘子”、“梨”} 归还 } func main(){ as:=tp{Title:“Hello”,Body:Read()} t:=template.Must(template.New(“Tele”).Parse(titlepage)) t、 执行(os.Stdout,as) }
    奇怪的是,这在操场上有效,但在我的实际代码中却不起作用。@user3918985这可能是因为您正在web浏览器中查看HTML。HTML中的换行符与空格处理相同。您可能想插入一个

    元素而不是换行符。奇怪的是,这在Playerd上有效,但在我的实际代码上却不起作用。@user3918985这可能是因为您正在web浏览器中查看HTML。HTML中的换行符与空格处理相同。您可能希望插入一个

    元素,而不是换行符。
    <html>
    <h1>Hello</h1>
    <h1>appleorangepear</h1>
    </html>
    
    const titlepage = `
    <html>
    <h1>{{ .Title}}</h1>
    <h1>{{ range $i := .Body}}{{$i}}<br/>
    {{end}}</h1>
    </html>
    `
    type tp struct {
        Title string
        Body []string
    }
    
    func Read() ([]string) {
        a := []string{"apple", "orange", "pear"}
        return a
    }
    
    func main() {
        as := tp{Title: "Hello", Body: Read()}
        t := template.Must(template.New("Tele").Parse(titlepage))
        t.Execute(os.Stdout, as)
    }