ホームページ > バックエンド開発 > Golang > Go テンプレートの配列出力で末尾のカンマを防ぐ方法は?

Go テンプレートの配列出力で末尾のカンマを防ぐ方法は?

DDD
リリース: 2024-11-02 11:58:02
オリジナル
945 人が閲覧しました

How to Prevent a Trailing Comma in Go Template Array Output?

Go テンプレートの範囲を使用して配列の最後の項目を検出する

Go テンプレートでは、末尾のカンマなしで配列を出力する必要がある状況が発生する場合があります。

次のコードを考えてみましょう:

<code class="go">package main

import "os"
import "text/template"

func main() {
    params := map[string]interface{}{
        "items": [3]int{1, 4, 2},
    }
    tpl := "{{range $i, $el := .items}}{{$el}},{{end}}"
    lister, _ := template.New("foo").Parse(tpl)
    lister.Execute(os.Stdout, params)
}</code>
ログイン後にコピー

このコードの出力:

1,4,2,
ログイン後にコピー

末尾のカンマを削除するには、テンプレートを次のように変更します。 :

<code class="go">tpl := "{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}."</code>
ログイン後にコピー

ここでの重要な変更は、範囲ループ内に条件ステートメント {{if $i}},{{end}} が導入されたことです。これが何をするのかを詳しく見てみましょう:

  • {{range $i, $el := .items}}: この行は、items 配列に対するループを開始します。$i はインデックスを表し、$el は $el を表します。現在の項目を表します。
  • {{if $i}},{{end}}: ループ内で、この条件はそれが配列内の最初の項目ではないかどうかをチェックします。最初の項目でない場合 ($i が 0 ではない)、カンマが出力されます。
  • {{.el}}: この部分は、配列内の現在の項目を出力します。
  • {{ end}}: この行はループを終了します。
  • 。テンプレートの最後: 最後に、テンプレートの最後にピリオド (「.」) を追加して出力を終了します。

以上がGo テンプレートの配列出力で末尾のカンマを防ぐ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート