Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Mengulang Melalui Peta dalam Templat Go?

Bagaimanakah Saya Mengulang Melalui Peta dalam Templat Go?

Barbara Streisand
Barbara Streisandasal
2024-11-23 04:44:13377semak imbas

How Do I Iterate Through a Map in a Go Template?

Menyalakan melalui Peta dalam Templat Go

Apabila bekerja dengan peta dalam templat Go, adalah penting untuk memahami cara mengulangi elemennya .

func groupClasses(classes []entities.Class) map[string][]entities.Class {
    classMap := make(map[string][]entities.Class)
    for _, class := range classes {
        classMap[class.ClassType.Name] = append(classMap[class.ClassType.Name], class)
    }
    return classMap
}

Untuk mengulangi peta kelas yang dijana oleh fungsi groupClasses dalam templat, ikuti ini langkah:

  1. Fahami Pembolehubah Nilai-Kekunci: Dalam templat Go, lelaran julat boleh mengisytiharkan berbilang pembolehubah dipisahkan dengan koma.
  2. Julat Lelaran: Untuk lelaran melalui peta, gunakan yang berikut sintaks:

    {{ range $key, $value := . }}
    

di mana:

  • $key mewakili kunci peta (cth., nama jenis kelas)
  • $value mewakili nilai peta (mis., kepingan kelas untuk itu taip)
  1. Elemen Akses: Dalam blok julat, anda boleh mengakses kunci dan nilai menggunakan pembolehubah $key dan $value.

Sebagai contoh, untuk menyenaraikan semua jenis kelas dan kelas yang sepadan dengannya:

{{ range $key, $value := . }}
   <li><strong>{{ $key }}</strong>: {{ $value }}</li>
{{ end }}

Ini akan menjana HTML seperti:

<li><strong>Yoga</strong>: [Yoga class 1, Yoga class 2, ...]</li>
<li><strong>Pilates</strong>: [Pilates class 1, Pilates class 2, ...]</li>

Atas ialah kandungan terperinci Bagaimanakah Saya Mengulang Melalui Peta dalam 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