Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| // 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 = `<p>A: {{.A}}</p><p>B: {{.B}}</p>` | |
| t := template.Must(template.New("escape").Parse(templ)) | |
| var data struct { | |
| A string // untrusted plain text | |
| B template.HTML // trusted HTML | |
| } | |
| data.A = "<b>Hello!</b>" | |
| data.B = "<b>Hello!</b>" | |
| if err := t.Execute(os.Stdout, data); err != nil { | |
| log.Fatal(err) | |
| } | |
| } | |
| //!- |