Think Twice
IT技術メモ | HUGOのメモ
Created: 2023-05-22 / Updated: 2023-05-22

HUGOのテンプレートエンジンで変数の型を調べる


目次


チェック方法

HUGOのテンプレートエンジンではprintf関数を使って変数の型を調べることができます。 具体的には、フォーマットとして%Tを指定します。 すると結果は型名を表す文字列になります。

Copy
{{ $x := 123 }}
{{ printf "%T" $x }}  <!-- "int" -->

{{ $x = "abc" }}
{{ printf "%T" $x }}  <!-- "string" -->

サンプル

以下にサンプルとしてif文で処理を切り分けるコードを示します。
.(コンテキスト)がページオブジェクトを表している場合、文字列の場合、その他の場合で処理分岐しています。

Copy
{{ if eq (printf "%T" .) "*hugolib.Page" }}
  
{{ else if eq (printf "%T" .) "string" }}
  
{{ else }}
  
{{ end }}


参考

Special thanks