Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencegah Koma Mengekor dalam Output Tatasusunan Templat Go?

Bagaimana untuk Mencegah Koma Mengekor dalam Output Tatasusunan Templat Go?

DDD
DDDasal
2024-11-02 11:58:02868semak imbas

How to Prevent a Trailing Comma in Go Template Array Output?

Kesan Item Terakhir dalam Tatasusunan Menggunakan Julat dalam Templat Go

Dalam templat Go, anda mungkin menghadapi situasi di mana anda perlu mencetak tatasusunan tanpa koma di belakang selepas item terakhir.

Pertimbangkan kod berikut:

<code class="go">package main

import "os"
import "text/template"

func main() {
    params := map[string]interface{}{
        "items": [3]int{1, 4, 2},
    }
    tpl := "{{range $i, $el := .items}}{{$el}},{{end}}"
    lister, _ := template.New("foo").Parse(tpl)
    lister.Execute(os.Stdout, params)
}</code>

Kod ini mengeluarkan:

1,4,2,

Untuk mengalih keluar koma mengekor, anda boleh mengubah suai templat ke :

<code class="go">tpl := "{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}."</code>

Perubahan kritikal di sini ialah pengenalan pernyataan bersyarat {{if $i}},{{end}} di dalam gelung julat. Mari kita pecahkan perkara ini:

  • {{julat $i, $el := .items}}: Baris ini memulakan gelung pada tatasusunan item, dengan $i mewakili indeks dan $el mewakili item semasa.
  • {{if $i}},{{end}}: Di dalam gelung, bersyarat ini menyemak sama ada ia bukan item pertama dalam tatasusunan. Jika ia bukan item pertama ($i bukan 0), ia mencetak koma.
  • {{.el}}: Bahagian ini mencetak item semasa dalam tatasusunan.
  • {{ tamat}}: Baris ini menamatkan gelung.
  • . pada penghujung templat: Akhir sekali, kami menambah noktah (".") pada penghujung templat untuk menamatkan output.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Koma Mengekor dalam Output Tatasusunan Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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