dongni9825 2017-03-20 04:29
浏览 11
已采纳

您如何将当前年份添加到Go模板中?

In a Go template, you can retrieve a field like this:

template.Parse("<html><body>{{ .Title }}</body></html>")
template.Execute(w, myObject)

How would you "inline" the current UTC year? I want to do something like this:

template.Parse("<html><body>The current year is {{time.Time.Now().UTC().Year()}}</body></html>")

But it returns the error:

panic: template: function "time" not defined

  • 写回答

2条回答 默认 最新

  • doz95923 2017-03-20 05:05
    关注

    you can add function to template, try this:

    package main
    
    import (
        "html/template"
        "log"
        "os"
        "time"
    )
    
    func main() {
        funcMap := template.FuncMap{
            "now": time.Now,
        }
    
        templateText := "<html><body>The current year is {{now.UTC.Year}}</body></html>"
        tmpl, err := template.New("titleTest").Funcs(funcMap).Parse(templateText)
        if err != nil {
            log.Fatalf("parsing: %s", err)
        }
    
        // Run the template to verify the output.
        err = tmpl.Execute(os.Stdout, nil)
        if err != nil {
            log.Fatalf("execution: %s", err)
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀