Membenarkan Nilai Nil dalam Keadaan Templat
Apabila bekerja dengan templat Go, anda mungkin menghadapi senario di mana anda ingin memaparkan kandungan lalai jika objek adalah sifar, tetapi tunjukkan kandungan yang berbeza jika sifat tertentu ditetapkan. Walaupun mungkin untuk menggunakan struct tanpa nama, ini boleh memperkenalkan boilerplate yang tidak diperlukan.
Penyelesaian Serbaguna
Untuk menyelesaikan isu ini dengan elegan, pertimbangkan pendekatan berikut:
Templat Kod
{{if not .}} // default content {{else if eq .MetaValue "some-x"}} // some-x case {{else}} // other case {{end}}
Penjelasan
Kod templat ini menilai ungkapan berikut mengikut susunan:
Dengan menggunakan operator not dan bukannya eq . nil, pendekatan ini mengendalikan semua senario yang mungkin, termasuk situasi di mana objek adalah sifar, kosong atau mempunyai nilai selain daripada sifar. Ini menghapuskan keperluan untuk semakan nil yang jelas atau pengenalan struct tanpa nama yang tidak perlu, memastikan templat anda bersih dan ringkas.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memaparkan Kandungan Berbeza Berdasarkan Objek Tiada dan Nilai Harta dalam Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!