// Copyright © 2016 Alan A. A. Donovan & Brian W. Kernighan. // License: https://creativecommons.org/licenses/by-nc-sa/4.0/ // See page 117. // Autoescape demonstrates automatic HTML escaping in html/template. package main import ( "html/template" "log" "os" ) //!+ func main() { const templ = `

A: {{.A}}

B: {{.B}}

` t := template.Must(template.New("escape").Parse(templ)) var data struct { A string // untrusted plain text B template.HTML // trusted HTML } data.A = "Hello!" data.B = "Hello!" if err := t.Execute(os.Stdout, data); err != nil { log.Fatal(err) } } //!-