首頁 >後端開發 >Golang >如何存取 Go 模板中第一個陣列元素的名稱欄位?

如何存取 Go 模板中第一個陣列元素的名稱欄位?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-07 13:35:03997瀏覽

How to Access the Name Field of the First Array Element in Go Templates?

在Go 模板中訪問第一個數組元素的.Name 字段

在HTML 模板中,你可能會遇到需要訪問的情況數組的第一個索引的值。然而,僅僅使用「索引」函數可能還不夠,尤其是在嘗試取得數組中的特定欄位時。

為了解決這個挑戰,正確的語法包括將表達式分組並應用「.Name」選擇器檢索所需的值。考慮以下範本:

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

在此範本中,「.Doc.Users」陣列包含帶有「Name」欄位的物件。透過將“index .Doc.Users 0”表達式分組並套用“.Name”,您可以有效地選擇第一個陣列元素的“Name”欄位。

舉個實際的例子,假設您有一個物件使用者陣列:

import "fmt"
import "os"
import "text/template"

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))
}

當您在Go Playground 上執行此程式碼時,您將獲得以下內容輸出:

<div>Foobar Bob</div>

這示範如何從Go 範本中的「.Doc.Users」陣列的第一個元素有效檢索「.Name」欄位。

以上是如何存取 Go 模板中第一個陣列元素的名稱欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn