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

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

Patricia Arquette
Patricia Arquette原創
2024-12-01 12:26:15578瀏覽

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn