golang模板template自定义函数用法示例

golang的模板十分强大,其中的unix管道风格函数调用很是喜欢.

模板中有很多内置可以参看pkg文档,

另外还可以实现自定义函数.

例子如下:

package main
import (
    "text/template"
    "time"
    "os"
)
type User struct {
    Username, Password string
    RegTime time.Time
}
func ShowTime(t time.Time, format string) string {
    return t.Format(format)
}
func main() {
    u := User{"dotcoo", "dotcoopwd", time.Now()}
    t, err := template.New("text").Funcs(template.FuncMap{"showtime":ShowTime}).
        Parse(`<p>{{.Username}}|{{.Password}}|{{.RegTime.Format "2006-01-02 15:04:05"}}</p>
<p>{{.Username}}|{{.Password}}|{{showtime .RegTime "2006-01-02 15:04:05"}}</p>
`)
    if err != nil {
        panic(err)
    }
    t.Execute(os.Stdout, u)
}

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2017-05-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Laoqi's Linux运维专列

Redis的两种备份方式

1463
来自专栏desperate633

深入理解Redis持久化Redis 持久化

本文翻译自官方文档 http://redis.io/topics/persistence 。

1032
来自专栏fixzd

redis系列:RDB持久化与AOF持久化

Redis的数据都是存储在内存中的,所以Redis持久化也就是要把Redis存储在内存中的数据保存到硬盘。 Redis提供了两种持久化方式

1022
来自专栏IT笔记

Terminate ZkClient event thread.

因为以前本地测试一直没有报错zookeeper 也没用动过,190测试服务器也一直没问题,所以一直不会以为是版本的问题。

5944
来自专栏IT可乐

Redis详解(七)------ AOF 持久化

  上一篇文章我们介绍了Redis的RDB持久化,RDB 持久化存在一个缺点是一定时间内做一次备份,如果redis意外down掉的话,就会丢失最后一次快照后的所...

1240
来自专栏武培轩的专栏

Redis持久化

Redis是内存型数据库,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化。 Redis支持两种持久化的方式,一...

4415
来自专栏码农阿宇

ASP.NET CORE入门之读取Json配置文件

首先新建一.net core控制台项目,命名为jsonReader ? 然后选中引用,选择NuGet包管理器,点击浏览引入mircosoft.aspnetcor...

3188
来自专栏跟着阿笨一起玩NET

ASP.NET 防止同一用户同时登陆

       要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已经登陆...

1191
来自专栏跟着阿笨一起玩NET

winform系统自动登录实现

转载:http://www.cnblogs.com/wuhuacong/archive/2012/08/21/2648339.html

1671
来自专栏Ryan Miao

Linux中mongodb安装和导出为json

采用官方工具导出mongo数据为json格式 文档:https://docs.mongodb.com/manual/reference/program/mong...

3987

扫码关注云+社区

领取腾讯云代金券