まくまくHugo/Goノート
Hugo テンプレートで数値によるループ処理を行う
2017-12-22
Hugo のテンプレート内では、Go 言語のような for を使用した数値ループは記述できません。代わりに range を使用します。

次の例では、seq 関数 を使用して 1~5 の数値シーケンスを作成し、それらを range を使ってループ処理しています。

Hugo テンプレート内の記述例

<ul>
  {{ range $val := seq 5 }}
    <li>{{ $val }}
  {{ end }}
</ul>

出力結果

<ul>
    <li>1
    <li>2
    <li>3
    <li>4
    <li>5
</ul>

戻り値を2つの変数で受け取れば、0始まりのインデックスも同時に得ることができます。

Hugo テンプレート内の記述例

<ul>
  {{ range $index, $val := seq 5 }}
    <li>{{ $index }} : {{ $val }}
  {{ end }}
</ul>

出力結果

<ul>
    <li>0 : 1
    <li>1 : 2
    <li>2 : 3
    <li>3 : 4
    <li>4 : 5
</ul>
2017-12-22