ホームページ  >  記事  >  バックエンド開発  >  テンプレート内の Go スライスの最後の要素を取得するにはどうすればよいですか?

テンプレート内の Go スライスの最後の要素を取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-21 05:05:15331ブラウズ

How Do I Get the Last Element of a Go Slice in a Template?

Go テンプレートでのスライスの最後の要素の取得

Go テンプレートでは、len を使用してスライスのサイズを簡単に決定できますが、最後の要素を取得することはできません。

FuncMap の使用

Go テンプレートは、カスタム関数を定義するのではなく、FuncMap を通じて機能を拡張する柔軟性を提供します。このシナリオと同様の算術ニーズを処理する「減算」関数を作成しましょう:

t := template.Must(template.New("").Funcs(template.FuncMap{
    "subtract": func(a, b int) int { return a - b },
}).Parse(theTemplate)

テンプレートでは、この関数を次のように利用できます:

{{index .Things (subtract $size 1)}}

この式は次のようになります。ゼロベースのインデックスを補うためにスライスの長さから 1 を減算することで、スライスの最後の要素を効果的に取得します。

以上がテンプレート内の Go スライスの最後の要素を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。