Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Anda Boleh Mengira Nilai dalam Templat HTML dengan Go?

Bagaimanakah Anda Boleh Mengira Nilai dalam Templat HTML dengan Go?

Patricia Arquette
Lepaskan: 2024-11-15 05:37:02
asal
584 orang telah melayarinya

How Can You Calculate Values in HTML Templates with Go?

Mengira Nilai dalam Templat HTML dengan Go

Apabila bekerja dengan templat HTML dalam Go, anda mungkin menghadapi situasi di mana anda perlu melakukan pengiraan dalam templat itu sendiri. Walau bagaimanapun, sintaks yang anda berikan, "{{ $length -1 }}", tidak akan berfungsi kerana templat tidak bertujuan untuk digunakan untuk logik yang kompleks.

Untuk mengira nilai dalam templat, anda mempunyai dua perkara utama pilihan:

  1. Lulus Keputusan Dikira sebagai Parameter:

Pendekatan pilihan dan lebih mudah ialah mengira nilai di luar templat dan menghantarnya sebagai parameter . Sebagai contoh, jika anda mempunyai peta dan ingin mengira indeks terakhir, anda boleh melakukannya dalam pengawal dan menghantar hasilnya kepada templat seperti ini:

func IndexHandler(w http.ResponseWriter, r *http.Request) {
    m := make(map[string]string)
    // ... populate map ...

    lastIdx := len(m) - 1
    data := struct {
        LastIdx int
    }{
        LastIdx: lastIdx,
    }

    t, err := template.ParseFiles("template.html")
    if err != nil {
        // Handle error
    }
    t.Execute(w, data)
}
Salin selepas log masuk

Dalam templat, anda hanya boleh menggunakan {{.LastIdx}} untuk memaparkan indeks terakhir yang dikira.

  1. Daftar Fungsi Tersuai:

Jika anda memerlukan pengiraan yang lebih kompleks atau ingin melaksanakannya dalam templat, anda boleh mendaftarkan fungsi tersuai dan kemudian memanggilnya dari templat. Untuk berbuat demikian, gunakan templat.Taip FuncMap dan daftarkan fungsi seperti ini:

func init() {
    template.Funcs["subtractOne"] = func(x int) int {
        return x - 1
    }
}
Salin selepas log masuk

Dalam templat, anda kemudian boleh memanggil fungsi seperti ini:

{{ $lastIdx := subtractOne (len .) }}
<p>The last index of this map is: {{ $lastIdx }} </p>
Salin selepas log masuk

Ini akan tolak satu daripada panjang peta dan simpan hasilnya dalam pembolehubah $lastIdx.

Ingat bahawa templat bukanlah bahasa pengaturcaraan sepenuhnya dan tujuan utamanya adalah untuk membentangkan data. Logik kompleks harus dikendalikan di luar templat atau melalui fungsi tersuai.

Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengira Nilai dalam Templat HTML dengan Go?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan