Templat Go: Mengalih keluar Koma Terakhir dalam Gelung Julat
Templat In Go, apabila melelaran pada julat elemen, koma ialah ditambah secara automatik selepas setiap elemen. Ini boleh menjadi tidak diingini dalam senario tertentu, seperti apabila menjana senarai nilai tanpa koma mengekor akhir.
Salah satu cara untuk mengalih keluar koma terakhir ialah dengan mengakses indeks elemen semasa gelung julat. Walau bagaimanapun, pendekatan ini tidak boleh digunakan pada peta kerana ia tidak menyediakan indeks untuk elemennya.
Penyelesaian Menggunakan Go 1.11
Sejak Go 1.11, adalah mungkin untuk ubah suai nilai pembolehubah templat dalam templat itu sendiri. Ini membenarkan untuk mengalih keluar koma terakhir dengan templat berikut:
{{$first := true}} {{range $key, $value := $}} {{if $first}} {{$first = false}} {{else}} , {{end}} key:{{$key}} value:{{$value}} {{end}}
Templat mentakrifkan pembolehubah $first yang ditetapkan kepada benar pada mulanya. Semasa gelung julat, jika $first adalah benar, ia ditetapkan kepada palsu dan tiada koma ditambahkan. Untuk semua lelaran berikutnya, koma ditambahkan sebelum elemen.
Contoh Diubah Suai
Berikut ialah versi terkini contoh daripada soalan yang mengalih keluar koma akhir menggunakan teknik di atas:
type Map map[string]string m := Map{ "a": "b", "c": "d", "e": "f", } const temp = `{{$first := true}}{{range $key, $value := $}}{{if $first}}{{$first = false}}{{else}}, {{end}}key:{{$key}} value:{{$value}}{{end}}` t := template.Must(template.New("example").Parse(temp)) t.Execute(os.Stdout, m)
Templat ini akan mengeluarkan yang berikut:
key:a value:b, key:c value:d, key:e value:f
Atas ialah kandungan terperinci Bagaimana untuk Mengalih Keluar Koma Mengekor dalam Gelung Julat Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!