Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengakses Nilai Indeks Pertama Tatasusunan dalam Templat Go?

Bagaimana untuk Mengakses Nilai Indeks Pertama Tatasusunan dalam Templat Go?

Susan Sarandon
Susan Sarandonasal
2024-11-07 06:15:03175semak imbas

How to Access the Value of the First Index of an Array in Go Templates?

Mengakses Nilai Indeks Pertama Tatasusunan dalam Templat Go

Apabila bekerja dengan templat HTML dalam Go, anda mungkin menghadapi cabaran untuk mengakses nilai indeks pertama tatasusunan yang dibenamkan dalam templat. Pertimbangkan kod templat berikut:

<div>Foobar {{ index .Doc.Users 0 }}</div>

Di sini, anda menyasarkan untuk mendapatkan nilai medan "Nama" untuk elemen pertama dalam kepingan "Doc.Users". Walau bagaimanapun, beberapa percubaan menggunakan sintaks berbeza tidak berjaya.

Sintaks yang betul untuk mendapatkan semula medan "Nama" bagi elemen pertama dalam tatasusunan "Doc.Users" ialah:

<div>Foobar {{ (index .Doc.Users 0).Name }}</div>

Untuk memahami sintaks ini, mari kita pecahkan:

  • index .Doc.Users 0: Bahagian ini mendapatkan semula elemen pertama daripada hirisan "Doc.Users".
  • (index . Doc.Users 0): Ini menandakan hasil ungkapan sebelumnya, menganggapnya sebagai nilai tunggal.
  • .Nama: Pemilih ini mengakses medan "Nama" bagi nilai yang diperoleh daripada ungkapan sebelumnya.

Dengan mengumpulkan ungkapan dan menggunakan pemilih, anda boleh mengakses medan "Nama" yang dikehendaki dengan berkesan.

Berikut ialah contoh kod yang boleh anda jalankan untuk menguji penyelesaian ini:

package main

import (
    "fmt"
    "html/template"
    "os"
)

type User struct {
    Name  string
    Email string
}

func main() {
    t := template.Must(template.New("").Parse(`
<div>Foobar {{ (index .Doc.Users 0).Name }}</div>
`))

    m := map[string]interface{}{
        "Doc": map[string]interface{}{
            "Users": []User{
                {Name: "Bob", Email: "[email protected]"},
                {Name: "Alice", Email: "[email protected]"},
            },
        },
    }

    fmt.Println(t.Execute(os.Stdout, m))
}

Kod ini akan menghasilkan output berikut, menunjukkan capaian yang berjaya kepada medan "Nama" pengguna pertama dalam kepingan "Doc.Users":

<div>Foobar Bob</div>

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Nilai Indeks Pertama Tatasusunan 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