导航

go 使用模板函数的例子

Posted on 2015-12-22 13:34  蝈蝈俊  阅读(1297)  评论(0编辑  收藏  举报

代码:

package main

import (
    "bytes"
    "fmt"
    "text/template"
    "time"
)

func FormatNow(format string) string {
    return time.Now().Format(format)
}

func main() {
    tmpl := template.New("t1")                                  // 模版名字
    tmpl = tmpl.Funcs(template.FuncMap{"formatNow": FormatNow}) // 模版使用的函数

    tmpl, err := tmpl.Parse("hello, {{.}} {{formatNow \"2006-01-02\"}}") // 模版
    if err != nil {
        panic(err)
    }

    var doc bytes.Buffer
    name := "ghj1976"
    err = tmpl.Execute(&doc, name)
    if err != nil {
        panic(err)
    }
    fmt.Println(doc.String())

    fmt.Println(FormatNow("2006-01-02"))
}

执行结果:

image