go语言中常用的功能之九(模板渲染)

本文详细阐述了Go语言中的模板渲染,包括模板路径的相对与绝对解析,模板渲染方法,变量解析,模板嵌套与变量传递,以及循环、分支、函数的使用。还介绍了如何在模板中定义和使用自定义变量,提供了实例演示。
摘要由CSDN通过智能技术生成

本文介绍go语言中的模板template渲染

1. 渲染模板

1.1 模板路径

相对路径

相对路径都是基于 $GOPATH/src/ 例如 ./index.html 的路径将被解析为$GOPATH/src/index.html

绝对路径没什么好说的,写对地址就好

1.2 模板渲染的方法

模板渲染使用方法template.ParseFiles

http.HandleFunc("/temp", func(writer http.ResponseWriter, request *http.Request) {
     
	t := template.Must(template.ParseFiles("E:/goproject/src/gostudy/temp/index.html"))
	data := struct{
   
		Name string 
	}{
   
		"zhangsan"
	} 
	t.Execute(writer, data) //执行模板的merger操作
 })	

http.ListenAndServe(":8080", nil)

2. 变量解析

假设定义结构体如下

import (
	"html/template"
	"net/http"
)

type Test struct {
   
	HTML     string
	SafeHTML template.HTML
	Title    string
	Path     string
	Dog      Dog
	Map      map[string]string
}

type Dog struct {
   
	Name string
	Age  int
}

data := Test{
   
	HTML:     "<h1>一级标题</h1>",
	SafeHTML: template.HTML("<h1>安全的标题</h1>"),
	Title:    "会被转义的斜杠 \"\\\" ",
	Path:     "/dashboard/settings",
	Dog:      Dog{
   "大黄", 6},
	Map: map
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值