在Go 範本中存取陣列的第一個索引的值
在Go 中使用HTML 範本時,您可能會遇到挑戰存取模板內嵌入的陣列的第一個索引的值。考慮以下範本程式碼:
<div>Foobar {{ index .Doc.Users 0 }}</div>
在這裡,您的目標是取得「Doc.Users」切片中第一個元素的「Name」欄位的值。但是,使用不同語法的多次嘗試均未成功。
檢索「Doc.Users」陣列中第一個元素的「Name」欄位的正確語法是:
<div>Foobar {{ (index .Doc.Users 0).Name }}</div>
為了理解這個語法,讓我們分解它:
透過將表達式分組並套用選擇器,您可以有效地存取所需的「名稱」欄位。
以下是您可以執行來測試此解決方案的範例程式碼:
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)) }
此程式碼將產生以下輸出,示範成功存取「Doc.Users」切片中第一個用戶的「Name」欄位:
<div>Foobar Bob</div>
以上是如何在 Go 範本中存取數組第一個索引的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!