Text Templates
作用
模版是静态文本和动作的混合体,用于动态插入内容。
用法
初始化
t := template.New("template_name")
t, err := t.Parse("template_text")
if err != nil {panic(err)
}
或者
t := template.New("template_name")
t = template.Must(t.Parse("template_text"))
template.Must
方法实现了error判断和panic。
实现一个辅助方法用于创建模版:
CreateTemplate := func(name, text string) *template.Template {return template.Must(template.New(name).Parse(text))
}
变量展示
t := CreateTemplate("t", "Value is {{.}}\n")
t.Execute(os.Stdout, "some text")
t.Execute(os.Stdout, 5)
t.Execute(os.Stdout, []string{"Go","Rust","C++","C#",
})
Value: some text
Value: 5
Value: [Go Rust C++ C#]
键值对展示
t := CreateTemplate("t", "Name: {{.Name}}\n")
t.Execute(os.Stdout, struct {Name string
}{"Jane Doe"})
t.Execute(os.Stdout, map[string]string{"Name": "Mickey Mouse",
})
Name: Jane Doe
Name: Mickey Mouse
逻辑展示
t := CreateTemplate("t", "{{if . -}} yes {{else -}} no {{end}}\n")
t.Execute(os.Stdout, "not empty")
t.Execute(os.Stdout, "")
yes
no
遍历展示
t := CreateTemplate("t", "Range: {{range .}}{{.}}、{{end}}\n")
t.Execute(os.Stdout, []string{"Go","Rust","C++","C#",
})
Range: Go、Rust、C++、C#、
Text Templates相关推荐
- RequireJS和AMD规范
目录 概述 define方法:定义模块 require方法:调用模块 AMD模式小结 配置require.js:config方法 插件 优化器r.js 参考链接 概述 RequireJS是一个工具库, ...
- oracle链接字符串java,java连Oracle连接字符串写法
Android实例-调用系统APP(XE10+小米2) 相关资料:群号383675978 实例源码: unit Unit1; interface uses System.SysUtils, Syste ...
- 基于ArcGIS JS API封装dojo微件(以工具条为例)
1.应用场景: 我们知道ArcGIS JS API自带了一些微件(或者说是控件),比如缩放按钮.定位按钮等等.但是有的时候这些微件的样式不太符合项目实际要求,或者是项目上想要把这些组合起来,这时候我们 ...
- What’s New in Entity Framework 4? API Changes(1)(转)
If you have been working with the ADO.NET Entity Framework, you have probably been extremely eager t ...
- 前端编程提高之旅(六)----backbone实现todoMVC
乐帝当年学习backbone时.最開始是看官网todoMVC的实现.后来了解到requireJS便于管理JS代码.就对官网代码做了requireJS管理.但此时乐帝感觉此时的t ...
- 【STM32】 keil软件工具--configuration详解(下)
转载至:https://blog.csdn.net/ybhuangfugui/article/details/51501781 Ⅰ.写在前面 本文接着上一篇文章"Configuration( ...
- vuepress 代码高亮支持的语言
VuePress 使用了 Prism 来为 markdown 中的代码块实现语法高亮.Prism 支持大量的编程语言,你需要做的只是在代码块的开始倒勾中附加一个有效的语言别名 Markup - mar ...
- 项目开发(Require + E.js)
最近在做的几个项目,分别用了不同的框架跟方式,有个H5的项目,用了vue框架, 这个项目我还没有正式加入进去, 等手头的这个项目完成就可以去搞vue了, 现在手头的这个项目是一个招聘的项目, 用到了N ...
- 在 C# 中生成代码的四种方式——包括.NET 5中的Source Generators
Microsoft在最新的C#版本中引入了Source Generator.这是一项新功能,可以让我们在代码编译时生成源代码.在本文中,我将介绍四种C#中的代码生成方式,以简化我们的日常工作.然后,您 ...
最新文章
- RabbitMQ安装与初始配置【转载】
- 【Java】 Base64原理及简单应用
- Boosted Tree:一篇很有见识的文章
- Java 数据结构(链表LinkedList增删改查、数组Vector、获取Vector最大值、交换Vector两成员位置、栈的实现、压栈出栈实现反转、队列Queue)
- 【炼丹技巧】指数移动平均(EMA)【在一定程度上提高最终模型在测试数据上的表现(例如accuracy、FID、泛化能力...)】
- 学习IDisposable,对于此中的不解……请高手指点
- CS229——NODE1part1
- sql中join类型_SQL Join类型概述和教程
- python基础作业_017--python基础作业
- 给你的页面加一个百度地图
- jsdroid 教程_2020年建筑行业资源近2000G免费建筑教程,分享给有需要的建筑同行
- 跟着小甲鱼学习C语言
- 如何更改win7开机启动画面
- Ubuntu 设置合上笔记本盖子不休眠的方法
- 苹果10.13.6,开机的时候经常会显示 禁止符号
- 非常口語化的英語單詞,短句
- mui 屏蔽手机物理返回按键(安卓+苹果)
- 关于将EXCEL文件导入到MYSQL数据库的一些方法
- eclipse中怎么快速切换窗口?
- BeagleBone Black 打开CAN总线
热门文章
- 码云 Push rejected: Push to bookShop/master was rejected
- 设计E-R图,E-R图转换成关系模式结构
- 愿手下有代码,眼中有星辰
- 2021-2027全球及中国APP配置软件行业研究及十四五规划分析报告
- 全新TFN FGT720A扫频仪
- wps全国计算机二级考试科目,可喜可贺,WPS Office成为NCRE二级单独考试科目
- TCP连接的建立与释放
- 蓝叠模拟器adb连接并配置网络代理
- 关于竞争上岗机制的操作流程
- Linux查看CPU和内存使用情况(ps、free、htop、atop、nmon、/proc/meminfo等)