Golang:go模版引擎的使用

go模版引擎的使用

一.前言

import “html/template”
template包(html/template)实现了数据驱动的模板,用于生成可对抗代码注入的安全HTML输出。本包提供了和text/template包相同的接口,无论何时当输出是HTML的时候都应使用本包。

二.示例

  • 使用html/template解析模版文件并且传递参数至模版文件Golang:go模版引擎的使用_第1张图片
  • golang代码块
package mian

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

// html处理器
func htmlHandle(w http.ResponseWriter, r *http.Request) {
	// 解析一个模版文件
	// Must函数用于包装返回(*Template, error)的函数/方法调用,它会在err非nil时panic,一般用于变量初始化:
	// ParseFiles函数创建一个模板并解析filenames指定的文件里的模板定义。返回的模板的名字是第一个文件的文件名(不含扩展名),内容为解析后的第一个文件的内容。至少要提供一个文件。如果发生错误,会停止解析并返回nil。
	t := template.Must(template.ParseFiles("index.html"))
	// Execute方法将解析好的模板应用到data上,并将输出写入wr。如果执行时出现错误,会停止执行,但有可能已经写入wr部分数据。模板可以安全的并发执行。
	t.Execute(w, "我是被传递的一段话")
}

func main() {
	// 路由器
	http.HandleFunc("/html", htmlHandle)
	// 开启server服务
	http.ListenAndServe(":8081", nil)
}
  • html代码块
DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Documenttitle>
head>
<body>
    <p style="color: red;">我是一个模版文件:{{.}}p>
body>
html>

你可能感兴趣的:(Golang,golang,开发语言,后端)