How to include and execute HTML template?
Parse parses text as a template body for t. Named template definitions ({{define ...}} or {{block ...}} statements) in text define additional templates associated with t and are removed from the definition of t itself.
Execute applies a parsed template to the specified data object, writing the output to w. If an error occurs executing the template or writing its output, execution stops, but partial results may already have been written to the output writer. A template may be executed safely in parallel, although if parallel executions share a Writer the output may be interleaved.
Create test.html with below content:
Golang Template Example
Template Testing
Country is {{.Country}}
City is {{.City}}
Example
package main
import (
"fmt"
"html/template"
"net/http"
)
const (
Port = ":8080"
)
func serveStatic(w http.ResponseWriter, r *http.Request) {
t, err := template.ParseFiles("test.html")
if err != nil {
fmt.Println(err)
}
items := struct {
Country string
City string
}{
Country: "Australia",
City: "Paris",
}
t.Execute(w, items)
}
func main() {
http.HandleFunc("/",serveStatic)
http.ListenAndServe(Port, nil)
}
![](https://www.golangprograms.com/media/wysiwyg/web2.jpg)
Most Helpful This Week
How to find length of Map in Go?
Different ways to convert Byte Array into String
Example: How to use ReadAtLeast from IO Package in Golang?
Normal function parameter with variadic function parameter
Example: How to use ReadFull from IO Package in Golang?
How to kill execution of goroutine?
How to check if a string contains a white space in Golang?
How to trim leading and trailing white spaces of a string in Golang?
Strip all white spaces, tabs, newlines from a string
Example to create custom error