| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> Go标准库http/template -> 正文阅读 |
|
[JavaScript知识库]Go标准库http/template |
关于html/template????????html/template中实现了数据驱动的模板,与text/template具有相同的接口。前者用于输出THTML,或者用户text。通过关于html/template包可以有效防止代码注入,破坏HTML的内容。 模板与渲染有什么作用呢?在前端和后端分离的Web项目中,我们经常要将后端的数据应用在前端的HTML页面中。那通过发送响应报文,然后前端去修改不就好了。设想每次都去修改的话,是不是特别的不方便。所以模板渲染的作用就显而易见了。比如,很多HTML页面的布局都差不多,但是需要展示的数据却不相同,这时候我们就可以通过模板的方式动态的更新HTML页面中的数据。(如何去调用这些数据,其实无非就是通过某种规定的语法去获取数据) 注:在大多数的web框架中都支持模板引擎 模板是什么呢?就是HTML文件而已 渲染时什么呢?就是用后台的数据(此时此刻我想在HTML页面中展示的数据)去替换HTML模板中的有模板语法规定的地方,从而将数据实时的显示在模板文件中。 Go模板引擎的相关规定1.模板文件必须使用utf-8编码方式,文件后缀名最好使用 .tmpl 后者 .tpl (当然使用.html也可以) 2.模板文件中通过 {{}} 来表示需要获取的内容。(也可以自己定义) 3.通过 . 获取数据 .fieldName来获取结构体中的字段 GO模板引擎的使用? ? ? ? GO模板引擎的使用分为三个步骤:定义模板、解析模板、渲染模板 定义模板:? ? ? ? 定义模板就是用一些规定的语法规则去写HTML文件
? ? ? ? 1.语法规则(语句)都要写在{{XXX}}中【XXX为语法规则】 ? ? ? ? 2.{{.}} 中的 . 表示传过来的内容 ? ? ? ? 3.{{/* XXXX */}}中的 /*? */表示注释,可以多行,不能嵌套,必需紧跟着{{和}} ? ? ? ? 4.GO模板中可以使用? | 来链接多个命令,前面的命令会将运算结果传递给后一个命令 ? ? ? ? 5.?变量,通过$来定义变量 ? ? ? ? 6.去掉前后空格{{- XXX? -}}? ?-必须紧贴? {{? 和? ?}} ? ? ? ? 7.条件判断?
? ? ? ?8.range(遍历)? ?遍历的对象必须是数组、切片、字段典、通道
? ? ? ? 9.with
注:执行模板时,一般先从函数模板字典查找,然后再从全局函数字典中查找。不建议在模板内定义函数,而是将函数添加到模板函数中。? ? ? ? 10.预定义全局函数(大概来了解下,需要用的时候再回来查)
? ? ? ? 11.比较函数(布尔函数) ? ? ? ? ? ? ? ? 注1:布尔函数会将任何类型的零值视为false,非零值视为true ? ? ? ? ? ? ? ? 注2:只有相同类型可以相互比较
????????12.自定义函数 ? ? ? ? Go支持自定义模板函数,并且自定义函数一般不写在模板文件中(即不写在{{}}中)
????????13.嵌套template ? ? ? ? ? ? ? ? GO模板支持在一个模板文件中嵌套另一个模板文件 ? ? ? ? ? ? ? ? 支持直接在同一个文件中: ? ? ? ? ? ? ? ? {{define? "待嵌套文件名"}} ? ? ? ? ? ? ? ? ? ? ? ? XXXXX ? ? ? ? ? ? ? ? {{end}}
?14.block(用于买吧继承) ?????????定义一个根模板base.tmpl
?15.修改默认的标识符{{ }} ? ? ? ? ? ? ?在实际的项目开发中,有时候会用到其它的一些框架,这时候可能会与{{}}冲突。 ? ? ? ? ? ? ?GO提供了让我们直接定义标识符。《在解析模板之前可以定义》
解析模板:? ? ? ? 方法1:直接使用默认的模板template
? ? ? ??方法2:创建自己的模板 ????????????????func New(name string) *Template 渲染模板:? ? ? ? 渲染模板就是用数据去填充模板的内容
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:01:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |