【HUGO】Seq関数の使い方
HUGOのseq関数の仕様について解説しています。
seq関数の機能と文法
連番の数値が入った配列を作ってくれる関数です。
必須の引数が1つとオプションの引数を2つ持っています。
//第1引数 シーケンスの長さを指定
$array := seq 3 // $array[1 2 3]
//第2引数 始点と終点を指定
$array := seq 10 7 //$array[10 9 8 7]
//第3引数 インクリメントを指定
$array := seq 2 2 10 //$array[2 4 6 8 10]
第3引数と言いながらインクリメントを指定する場合は2番目がインクリメントになるので少しややこしいです。
高度な使い方
afterを使うことで配列の始まりをずらすことができます。
{{range $array := after 1 (seq 5) }}
配列の中身は{{.}}
{{end}}
/*
出力結果
配列の中身は2 3 4 5
*/
例では数値を直接渡していますが、afterに渡す数値を変数にしておけば流動的にシーケンスの始まる番号を変更できます。
0始まりのindexを使用したい場合は受け取る側の変数を2つ宣言してあげましょう。
{{ range $index, $value := seq 3 }}
添え字{{ $index }} : 値{{ $val }}
{{ end }}
/*
出力結果
添え字0 : 値1 添え字1 : 値2 添え字2 : 値3
*/