我是靠谱客的博主 高贵纸鹤,最近开发中收集的这篇文章主要介绍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的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部