Memotong Rentetan dalam Templat Go
Apabila bekerja dengan templat HTML dalam Go, anda mungkin menghadapi situasi di mana anda perlu mengehadkan panjang rentetan. Ini boleh berguna untuk menghalang limpahan teks atau memastikan paparan yang konsisten.
Dalam contoh yang diberikan, anda mempunyai templat yang memaparkan kandungan ".Kandungan" dalam gelung julat. Secara lalai, ia akan mencetak keseluruhan rentetan. Walau bagaimanapun, anda ingin memotongnya kepada maksimum 25 aksara.
Penyelesaian terletak pada penggunaan printf dalam templat anda. Fungsi ini membolehkan anda memanipulasi rentetan dalam pelbagai cara, termasuk pemotongan.
Menggunakan printf
Untuk memotong rentetan dalam templat anda, anda boleh menggunakan arahan printf dengan rentetan format yang menentukan panjang yang dikehendaki. Contohnya:
{{ printf "%.25s" .Content }}
Rentetan format ini memberitahu printf untuk memformat ".Kandungan" sebagai rentetan dan mengehadkan panjangnya kepada 25 aksara. Sebarang lebihan kandungan melebihi 25 aksara pertama akan dibuang.
Pemangkasan Dinamik
Anda juga boleh menentukan panjang pemangkasan secara dinamik dengan menghantar nombor yang diingini sebagai hujah tambahan kepada printf:
{{ printf "%.*s" 25 .Content }}
Dalam kes ini, hujah pertama (25) mewakili panjang maksimum untuk dipotong. Argumen kedua (".Kandungan") ialah rentetan yang akan dipotong.
Nota tentang Ketepatan
Perlu ambil perhatian bahawa printf menggunakan rune (titik kod Unicode) untuk mengukur lebar dan ketepatan, bukannya bait. Ini bermakna aksara UTF-8 berbilang bait mungkin dipotong di tengah. Jika anda memerlukan pemangkasan berasaskan bait, pertimbangkan untuk menggunakan pendekatan alternatif seperti penghirisan subrentetan.
Atas ialah kandungan terperinci Bagaimana untuk Memotong Rentetan dalam Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!