自定义标识符语法

自定义标识符语法

一、修改默认的标识符

Go标准库的模板引擎使用的花括号{{}}作为标识,而许多前端框架(如VueAngularJS)也使用{{}}作为标识符,所以当我们同时使用Go语言模板引擎和以上前端框架时就会出现冲突,这个时候我们需要修改标识符,修改前端的或者修改Go语言的。这里演示如何修改Go语言模板引擎默认的标识符:

template.New("test").Delims("{[", "]}").ParseFiles("./t.tmpl")
package main

import (
	"fmt"
	"net/http"
	"text/template"
)

func customDefined(w http.ResponseWriter, r *http.Request)  {
	// 定义模板

	// 解析模板
	// 自定默认的标识符
	t, err := template.New("customDefined.tmpl").
		Delims("{[", "]}").
		ParseFiles("./customDefined.tmpl")
	if err != nil{
		fmt.Printf("parse tmpl falied err:%#V", err)
	}
	// 渲染模板
	msg := "我是自定义标识符语法,快使用我吧!"
	err = t.Execute(w, msg)

	if err != nil{
		fmt.Printf("execute template failed  err: %#v", err)
		return
	}


}
func main() {
	http.HandleFunc("/customDefined", customDefined)
	err := http.ListenAndServe(":9999", nil)
	if err != nil{
		fmt.Printf("http server run faild err:%#V", err)
	}

}

模板

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Hello Template</title>
</head>
<body>
<p>hello {[.]}</p>
</body>
</html>

image-20211111223108683

posted @ 2021-11-29 23:15  RandySun  阅读(275)  评论(0编辑  收藏  举报