我是靠谱客的博主 高贵纸鹤,最近开发中收集的这篇文章主要介绍Go Web——template标准库简介一 快速入门二 传入字符串三 传入结构体四 传入多个结构体五 文本与空格六 模板注释七 管道Pipeline八 变量九 if十 range十一 with十二 内置函数十三 嵌套template:define和template十四 text/template与html/tempalte的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 简介
- 一 快速入门
- 二 传入字符串
- 三 传入结构体
- 四 传入多个结构体
- 五 文本与空格
- 六 模板注释
- 七 管道Pipeline
- 八 变量
- 九 if
- 十 range
- 十一 with
- 十二 内置函数
- 十三 嵌套template:define和template
- 十四 text/template与html/tempalte的区别
简介
template包实现了数据驱动的用于生成文本输出的模板。
生成html文件的模板在html/template包下。
模板使用插值语法{
{.var}}
格式,也可以使用一些流程控制,例如if else
、循环range
,还可以使用一些函数,包括内建函数和自定义函数
一 快速入门
package main
import (
"os"
"text/template"
)
func main() {
// 数据
name := "Psych"
// 定义模板
muban := "hello,{
{.}}"
// 解析模板
tmpl, err := template.New("test").Parse(muban)
if err != nil {
panic(err)
}
// 执行模板并输出到终端
err = tmpl.Execute(os.Stdout, name)
if err != nil {
panic(err)
}
}
运行结果:
[Running] go run "e:golang开发学习go_protest.go"
hello,Psych
[Done] exited with code=0 in 1.472 seconds
二 传入字符串
定义模板文件hello.html
:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>HELLO</title>
</head>
<body>
<p>hello {
{ . }}</p>
</body>
</html>
测试:
package main
import (
"net/http"
"text/template"
)
func sayHello(w http.ResponseWriter, r *http.Request) {
//解析模板
t, err := template.ParseFiles("./hello.html")
if err != nil {
panic(err)
}
//渲染模板
err = t.Execute(w, "Psych")
if err != nil {
panic(err)
}
}
func main() {
http.HandleFunc("/", sayHello)
err := http.ListenAndServe(":9090", nil)
if err != nil {
panic(err)
}
}
浏览器输入127.0.0.1:9090
显示结果:
三 传入结构体
定义模板文件hello.html
:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>HELLO</title>
</head>
<body>
<p>hello {
{ .Name }},Your age {
{ .Age }}</p>
</body>
</html>
测试:
package main
import (
"net/http"
"text/template"
)
type User struct {
Name string
Age int
}
func <
最后
以上就是高贵纸鹤为你收集整理的Go Web——template标准库简介一 快速入门二 传入字符串三 传入结构体四 传入多个结构体五 文本与空格六 模板注释七 管道Pipeline八 变量九 if十 range十一 with十二 内置函数十三 嵌套template:define和template十四 text/template与html/tempalte的区别的全部内容,希望文章能够帮你解决Go Web——template标准库简介一 快速入门二 传入字符串三 传入结构体四 传入多个结构体五 文本与空格六 模板注释七 管道Pipeline八 变量九 if十 range十一 with十二 内置函数十三 嵌套template:define和template十四 text/template与html/tempalte的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复