自定义标识符语法
自定义标识符语法
一、修改默认的标识符
Go标准库的模板引擎使用的花括号{{
和}}
作为标识,而许多前端框架(如Vue
和 AngularJS
)也使用{{
和}}
作为标识符,所以当我们同时使用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>
在当下的阶段,必将由程序员来主导,甚至比以往更甚。