为了账号安全,请及时绑定邮箱和手机立即绑定

具体范围示例

具体范围示例

Go
眼眸繁星 2021-09-10 10:03:39
关于 text/template 包的 Go 文档非常抽象,以至于我无法弄清楚如何实际覆盖对象切片。到目前为止,这是我的尝试(这对我没有任何输出):package mainimport (    "os"    templ "text/template")type Context struct {    people []Person}type Person struct {    Name   string //exported field since it begins with a capital letter    Senior bool}func main() {    // Range example     tRange := templ.New("Range Example")    ctx2 := Context{people: []Person{Person{Name: "Mary", Senior: false}, Person{Name: "Joseph", Senior: true}}}    tRange = templ.Must(    tRange.Parse(`{{range $i, $x := $.people}} Name={{$x.Name}} Senior={{$x.Senior}}  {{end}}`))    tRange.Execute(os.Stdout, ctx2)}
查看完整描述

1 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

范围是正确的。问题是未导出Context people 字段。模板包忽略未导出的字段。将类型定义更改为:

type Context struct {
   People []Person // <-- note that People starts with capital P.
   }

和模板:

 {{range $i, $x := $.People}} Name={{$x.Name}} Senior={{$x.Senior}}  {{end}}


查看完整回答
反对 回复 2021-09-10
  • 1 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信