html /模板直接调用值的方法

时间:2014-06-06 16:53:42

标签: go

我想直接在模板中调用并打印Format on Date的结果,而不为Foo结构编写样板文件。

package main

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

type Foo struct {
    Date time.Time
}

func main() {
    foo := Foo{time.Now()}
    tmpl, err := template.New("test").Parse("{{.Date}}")
    if err != nil {
        panic(err)
    }
    err = tmpl.Execute(os.Stdout, foo)
    if err != nil {
        panic(err)
    }
}

Playground

1 个答案:

答案 0 :(得分:3)

您可以在日期对象上调用.Format:

"{{.Date.Format \"Jan 2, 2006 at 3:04pm (MST)\" }}"

http://play.golang.org/p/P4kKfZ5UN5

package main

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

type Foo struct {
    Date time.Time
}

func main() {
    foo := Foo{time.Now()}
    tmpl, err := template.New("test").Parse("{{.Date.Format \"Jan 2, 2006 at 3:04pm (MST)\" }}")
    if err != nil {
        panic(err)
    }
    err = tmpl.Execute(os.Stdout, foo)
    if err != nil {
        panic(err)
    }
}