在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中文網其他相關文章!