Rumah > pembangunan bahagian belakang > Golang > golang menjana kaedah templat

golang menjana kaedah templat

王林
Lepaskan: 2023-05-13 10:44:07
asal
886 orang telah melayarinya

Golang ialah bahasa pengaturcaraan yang sangat popular dengan sintaks yang mudah, kecekapan pelaksanaan yang tinggi dan kebolehbacaan yang kuat. Di Golang, menjana templat ialah keperluan pembangunan biasa dan boleh digunakan untuk menjana pelbagai templat kod atau dokumen untuk meningkatkan kecekapan pembangunan. Artikel ini akan memperkenalkan cara menggunakan Golang untuk menjana kaedah templat.

1. Bahasa templat

Bahasa templat Golang menggunakan kaedah seperti teg untuk mengenal pasti bahagian templat yang perlu diganti. Teg biasanya mengandungi dua jenis, iaitu "{{" dan "}}". Di antara kedua-dua tag ini, kita boleh memasukkan beberapa nilai atau ungkapan yang perlu diganti. Contohnya: {{.}} mewakili keseluruhan struktur data itu sendiri, {{.FieldName}} mewakili nilai medan dalam struktur, {{range .List}}{{.}}{{end}} mewakili merentasi data kumpulan.

Pada masa yang sama, dalam sintaks templat, operasi seperti pernyataan pertimbangan bersyarat, pernyataan gelung dan panggilan fungsi juga disokong. Sintaks khusus adalah seperti berikut:

1 Pernyataan penghakiman bersyarat

{{if .Condition}}

<!-- Code block if the condition is true -->
Salin selepas log masuk

{{else}}

<!-- Code block if the condition is false -->
Salin selepas log masuk

{{end }}

Contohnya:

{{if eq .Warna "Merah"}}

This is a red car
Salin selepas log masuk

{{else}}

This is not a red car
Salin selepas log masuk

{{end} }

2. Penyataan gelung

{{julat .List}}

<!-- Code block for each element in the list -->
Salin selepas log masuk

{{end}}

Contohnya:

{{range .List}}

This is a {{.Color}} {{.Brand}} car
Salin selepas log masuk

{{end}}

3. Panggilan fungsi

{{FuncName .Parameter}}

Contohnya:

{{dateformat .CreateTime "yyyy-MM-dd HH:mm:ss"}}

2. kita boleh menentukan fail templat untuk mencapai tujuan penjanaan templat. Secara umumnya, kita boleh membahagikan fail templat mengikut fungsi yang berbeza atau menjana fail yang berbeza. Kami juga boleh meletakkan semua templat dalam fail yang sama. Dalam fail templat, kita boleh menggunakan bahasa templat di atas untuk menulis templat.

Sebagai contoh, jika kita perlu menjana fail HTML, kita boleh menulis fail templat seperti berikut:

< ;kepala>

<meta charset="UTF-8">
<title>{{.Title}}</title>
Salin selepas log masuk

<h1>{{.Heading}}</h1>
{{range .Articles}}
    <h2>{{.Title}}</h2>
    <p>{{.Content}}</p>
{{end}}
Salin selepas log masuk


3. Penjanaan templat

Di Golang, kita boleh menggunakan pakej "teks/template" atau pakej "html/template" untuk menjana templat. Perbezaan utama antara keduanya ialah "html/template" melepaskan rentetan yang dijana untuk mengelakkan serangan XSS.

Sebelum menggunakan pakej "text/template" atau pakej "html/template", kita perlu menyediakan model data terlebih dahulu Di sini kita boleh menggunakan struktur untuk mewakilinya. Sebagai contoh, berikut ialah struktur yang digunakan untuk mewakili artikel:

taip struct Artikel {

Title   string
Content string
Salin selepas log masuk

}

Kita juga perlu mentakrifkan struktur untuk mewakili model data bagi halaman , seperti berikut:

taip PageData struct {

Title    string
Heading  string
Articles []Article
Salin selepas log masuk

}

Kemudian, kita boleh menggunakan fungsi "ParseFiles" untuk menghuraikan fail templat dan mengembalikan templat yang diproses objek:

t, err := template.ParseFiles("template.html")

Seterusnya, kita boleh menghantar model data ke objek templat yang diproses untuk menjana rentetan akhir:

err = t.Execute(os.Stdout, data)

Antaranya, parameter pertama ialah kedudukan output, yang boleh menjadi os.Stdout, bytes.Buffer, dsb.; ialah model Data.

Jika kita ingin menjana fail, kita boleh menggunakan "os.Create" untuk mencipta fail dan kemudian hantar ke fungsi "t.Execute":

f, err := os.Create("output.html")

tunda f.Close()

err = t.Execute(f, data)

Dengan cara ini, kaedah penjanaan templat asas Golang selesai .

Kesimpulan

Fungsi penjanaan templat Golang sangat berkuasa dan boleh digunakan untuk menjana pelbagai templat kod atau dokumen. Dalam amalan, terdapat banyak ciri dan teknik lanjutan lain yang boleh digunakan pada proses penjanaan templat, seperti fungsi tersuai, pewarisan templat, penjanaan templat dinamik, dsb. Saya harap artikel ini dapat memberikan arah permulaan asas untuk pemula.

Atas ialah kandungan terperinci golang menjana kaedah templat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan