Bagaimana untuk Mengakses Parameter URL Dalam Gelung Julat Templat dalam Go?

Patricia Arquette
Lepaskan: 2024-11-09 12:59:02
asal
846 orang telah melayarinya

How to Access URL Parameters Within a Template Range Loop in Go?

Mengakses Parameter URL Dalam Gelung Julat Templat

Apabila bekerja dengan templat Go, adalah penting untuk memahami cara data boleh diakses dalam gelung. Pertimbangkan kod dan templat berikut:

type User struct {
    Username string
    Password []byte
    Email string
}

func main() {
    users := []User{
        {Username: "Alice", Email: "alice@example.com"},
        {Username: "Bob", Email: "bob@example.com"},
    }

    renderer.HTML(w, http.StatusOK, "users/index", map[string]interface{}{
        "lang":  chi.URLParam(r, "lang"),
        "users": users,
    })
}
Salin selepas log masuk
{{ range .users }}
  <form action="/{{ .lang }}/users" method="POST">
    <input type="text" name="Username" value="{{ .Username }}">
    <input type="text" name="Email" value="{{ .Email }}">
  </form>
{{ end }}
Salin selepas log masuk

Dalam senario ini, anda mungkin menghadapi ralat yang menunjukkan bahawa medan "lang" bukan sebahagian daripada struct "Pengguna". Untuk menangani perkara ini, kita boleh memanfaatkan konsep "titik" dan pembolehubah khas "$."

Memahami Titik dan $

Apabila gelung dipanggil, kandungan "titik" (.) diberikan kepada pembolehubah khas "$." Ini membolehkan kami mengakses data dari luar gelung dalam blok julat. Contohnya, untuk mengakses parameter "lang", kami boleh menggunakan "$" seperti berikut:

{{ range .users }}
  <form action="/{{ $.lang }}/users" method="POST">
    <input type="text" name="Username" value="{{ .Username }}">
    <input type="text" name="Email" value="{{ .Email }}">
  </form>
{{ end }}
Salin selepas log masuk

Pendekatan ini berjaya menyelesaikan isu tersebut, membolehkan anda mengakses parameter "lang" dalam gelung julat. Tingkah laku "titik" dan "$" didokumenkan dalam panduan templat Go.

Pendekatan Alternatif

Jika anda menghadapi senario di mana mengakses data menggunakan "$" adalah mencabar kerana gelung bersarang, pertimbangkan pilihan alternatif seperti menetapkan "titik" kepada pembolehubah sementara atau menggunakan pernyataan "dengan" untuk mencipta skop khusus untuk memberikan data.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Parameter URL Dalam Gelung Julat Templat dalam 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