Apabila menentukan templat Go dengan elemen HTML, adalah penting untuk mengelakkan aksara terlepas secara tidak sengaja yang sepatutnya dipaparkan sebagai sebahagian daripada HTML . Isu ini timbul apabila menggunakan rentetan untuk mewakili kandungan HTML dalam templat.
Untuk mengelakkan melarikan diri, pendekatan yang betul adalah dengan menghantar kandungan HTML sebagai contoh templat.HTML. Jenis ini bertanggungjawab untuk mengendalikan pemaparan HTML dalam templat Go, memastikan ia dipaparkan tanpa melarikan diri.
Contoh yang menunjukkan teknik ini:
<code class="go">package main import ( "fmt" "html/template" "os" ) func main() { tpl := template.Must(template.New("main").Parse(`{{define "T"}}{{.Html}}{{.String}}{{end}}`)) tplVars := map[string]interface{} { "Html": template.HTML("<p>Paragraph</p>"), "String": "<p>Paragraph</p>", } tpl.ExecuteTemplate(os.Stdout, "T", tplVars) }</code>
Dalam contoh ini, kandungan HTML diluluskan sebagai nilai templat.HTML, yang menghalang pelarian daripada berlaku. Output dipaparkan seperti yang dimaksudkan, tanpa sebarang aksara HTML yang dilepaskan.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan HTML ke dalam Templat Go Tanpa Melarikan diri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!