首頁 > 後端開發 > Golang > 如何存取模板中 Go 切片的最後一個元素而不出現「超出範圍」錯誤?

如何存取模板中 Go 切片的最後一個元素而不出現「超出範圍」錯誤?

Patricia Arquette
發布: 2024-12-01 12:26:15
原創
628 人瀏覽過

How to Access the Last Element of a Go Slice in a Template Without an

Go 模板中切片的最後一個元素

問題:

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板