Go语言 模板的使用(一)

时间:2023-12-23 00:03:02

使用Parse

package main

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

func SayHello(w http.ResponseWriter, req *http.Request) {
    name := "克莱普斯"
    tmpl, _ := template.New("TXT").Parse("大家好,我是{{.}}")
    tmpl.Execute(w, name)
}

func main() {
    http.HandleFunc("/", SayHello)
    http.ListenAndServe(":80", nil)
}

使用ParseFiles

go代码

package main

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

type Info struct {
    Title string
    Name  string
    Site  string
}

func SayHello(w http.ResponseWriter, req *http.Request) {
    info := Info{"个人网站", "克莱普斯", "http://www.sample.com/"}
    tmpl, _ := template.ParseFiles("home.html")
    tmpl.Execute(w, info)
}

func main() {
    http.HandleFunc("/", SayHello)
    http.ListenAndServe(":80", nil)
}

home.html代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>{{.Title}}</title>
</head>

<body>
大家好,我是{{.Name}}。这是我的网站{{.Site}}
</body>
</html>

显示如下:

Go语言 模板的使用(一)

让模板不转义HTML标签

template.HTML(x) //x这里是string