golang html模板没有';我什么也看不出来

golang html模板没有';我什么也看不出来,html,templates,go,Html,Templates,Go,我有这个html/模板的代码,它不会运行。我想显示数组中的每个元素,它将不返回任何内容。请忽略ioutil文件读取 type Person struct { Name string Age int } type Page struct { test [3]Person test2 string } func main() { var a [3]Person a[0] = Person{Name: "test", Age: 20} a[1

我有这个html/模板的代码,它不会运行。我想显示数组中的每个元素,它将不返回任何内容。请忽略ioutil文件读取

type Person struct {
    Name string
    Age int
}

type Page struct {
    test [3]Person
    test2 string
}

func main() {
    var a [3]Person
    a[0] = Person{Name: "test", Age: 20}
    a[1] = Person{Name: "test", Age: 20}
    a[2] = Person{Name: "test", Age: 20}

    p:= Page{test: a}

    c, _ := ioutil.ReadFile("welcome.html")    
    s := string(c)

    t := template.New("")
    t, _ = t.Parse(s)
    t.Execute(os.Stdout, p)
}
和welcome.html:

{{range .test}}
    item
{{end}}

页面.test
字段未导出,它以小写字母开头。模板引擎(与其他所有引擎一样)只能访问导出的字段

将其更改为:

type Page struct {
    Test [3]Person
    Test2 string
}
以及您引用它的所有其他地方,例如
p:=Page{Test:a}
。并且在模板中:

{{range .Test}}
    item
{{end}}
还有:永远不要忽略检查错误您至少可以做的是恐慌:

c, err := ioutil.ReadFile("welcome.html") 
if err != nil {
    panic(err)
}
s := string(c)

t := template.New("")
t, err = t.Parse(s)
if err != nil {
    panic(err)
}
err = t.Execute(os.Stdout, p)
if err != nil {
    panic(err)
}

在.

页面上尝试。test字段未导出,它以小写字母开头。模板引擎(与其他所有引擎一样)只能访问导出的字段

将其更改为:

type Page struct {
    Test [3]Person
    Test2 string
}
以及您引用它的所有其他地方,例如
p:=Page{Test:a}
。并且在模板中:

{{range .Test}}
    item
{{end}}
还有:永远不要忽略检查错误您至少可以做的是恐慌:

c, err := ioutil.ReadFile("welcome.html") 
if err != nil {
    panic(err)
}
s := string(c)

t := template.New("")
t, err = t.Parse(s)
if err != nil {
    panic(err)
}
err = t.Execute(os.Stdout, p)
if err != nil {
    panic(err)
}

在.

页面上尝试。test字段未导出,它以小写字母开头。模板引擎(与其他所有引擎一样)只能访问导出的字段

将其更改为:

type Page struct {
    Test [3]Person
    Test2 string
}
以及您引用它的所有其他地方,例如
p:=Page{Test:a}
。并且在模板中:

{{range .Test}}
    item
{{end}}
还有:永远不要忽略检查错误您至少可以做的是恐慌:

c, err := ioutil.ReadFile("welcome.html") 
if err != nil {
    panic(err)
}
s := string(c)

t := template.New("")
t, err = t.Parse(s)
if err != nil {
    panic(err)
}
err = t.Execute(os.Stdout, p)
if err != nil {
    panic(err)
}

在.

页面上尝试。test字段未导出,它以小写字母开头。模板引擎(与其他所有引擎一样)只能访问导出的字段

将其更改为:

type Page struct {
    Test [3]Person
    Test2 string
}
以及您引用它的所有其他地方,例如
p:=Page{Test:a}
。并且在模板中:

{{range .Test}}
    item
{{end}}
还有:永远不要忽略检查错误您至少可以做的是恐慌:

c, err := ioutil.ReadFile("welcome.html") 
if err != nil {
    panic(err)
}
s := string(c)

t := template.New("")
t, err = t.Parse(s)
if err != nil {
    panic(err)
}
err = t.Execute(os.Stdout, p)
if err != nil {
    panic(err)
}

试试这个。

效果不错,非常感谢。“我真的错过了那个领域出口的东西,我在哪里能读到它呢?”尼克在报纸上写道。模板引擎位于另一个包(
html/template
)中,因此规则也适用于它。这很有效,非常感谢。“我真的错过了那个领域出口的东西,我在哪里能读到它呢?”尼克在报纸上写道。模板引擎位于另一个包(
html/template
)中,因此规则也适用于它。这很有效,非常感谢。“我真的错过了那个领域出口的东西,我在哪里能读到它呢?”尼克在报纸上写道。模板引擎位于另一个包(
html/template
)中,因此规则也适用于它。这很有效,非常感谢。“我真的错过了那个领域出口的东西,我在哪里能读到它呢?”尼克在报纸上写道。模板引擎位于不同的包中(
html/template
),因此规则也适用于它。