問題:
檢索Go 中切片的大小使用len 模板很簡單。也可以檢索索引值,但索引是從零開始的,導致在嘗試存取最後一個元素時出現「超出範圍」錯誤。如何透過在模板中進行算術運算來獲取最後一個元素?
答案:
雖然 Go 範本不提供內建算術運算,但您可以利用用於新增自訂函數的 FuncMap。以下是定義「add」函數的方法:
import "html/template" func add(a, b int) int { return a + b }
要將「add」函數整合到您的範本中,請使用以下語法:
t := template.Must(template.New("").Funcs(template.FuncMap{ "add": func(a, b int) int { return a + b }, }).Parse(theTemplate)
現在,您可以存取像這樣的模板中的最後一個元素:
{{index .Things (add $size -1)}}
這將正確返回切片的最後一個元素,而不會觸發「超出範圍」錯誤。 「add」函數也可以處理其他需要算術運算的場景。
以上是如何存取模板中 Go 切片的最後一個元素而不出現「超出範圍」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!