我有一個 Item 類型的結構,其中包含 ItemFields,它是字符串類型的一部分。我想有條件地打印 ItemFields 中的每個字符串,這是一個帶有錨標記的超鏈接。為此,我使用了一個函數 IsHyperlink 來檢查切片中的每個字符串是否應該包含在錨標記中或簡單地打印出來。type Item struct { ItemFields []string}我像這樣在 page.html 中循環遍歷 ItemFields。{{range .Items}} <ul> <li> {{range .ItemFields}} {{if .IsHyperlink .}} <a href="{{.}}">{{.}}</a> {{else}} {{.}} {{end}} {{end}} </li> </ul>{{end}}但是,當我運行應用程序時,IsHyperlink 報告它“無法評估字符串類型的字段 IsHyperlink”。如何更改我的 go 代碼以成功將超鏈接包裝在錨標記中?
1 回答

慕虎7371278
TA貢獻1802條經驗 獲得超4個贊
該上下文中的值.是一個字符串,而不是Item. 使用變量來引用項目:
{{range $item := .Items}}
<tr>
<td>
{{range .ItemFields}}
{{if $item.IsHyperlink .}}
<a href="{{.}}">{{.}}</a>
{{else}}
{{.}}
{{end}}
{{end}}
</td>
</tr>
{{end}}
- 1 回答
- 0 關注
- 137 瀏覽
添加回答
舉報
0/150
提交
取消