16291


Goのテンプレートでテンプレート変数の値によって表示するViewを分けたいのですがテンプレート内での`if`の使用方法がよくわかりません。調べて見ましたが公式リファレンス以外の例を見つけられず、それを参考にしましたができませんでした。例えば以下のばあい

[code]

    {{ if .Num ne 1}}
     <p>Num is not 1</p>
    {{else}}
     <p>Num is 1</p>
    {{end}}
    
[/code]

と書いてみましたが、実行するとこの部分以降が表示されなくなってしまいました。GoのTempleteでのif文の使い方についておしえてください。


CC BY-SA 3.0
2015-09-05T09:32:37.733
16287
2015-09-05T12:09:38.393
7232
question
go templates
Goのテンプレートのif文で表示を分けたい


テンプレート内で利用できる`eq`、`ne`などの演算子は実際には関数として実装されているので、オペランドを演算子の後に配置する必要があります。（ポーランド記法）

例えば、`.Num != 1`のような式は`ne(.Num, 1)`のような関数呼び出しとして扱う必要があるので、正しい書き方は以下のようになります。

[code]

    {{ if ne .Num 1 }}
     <p>Num is not 1</p>
    {{else}}
     <p>Num is 1</p>
    {{end}}
    
[/code]


CC BY-SA 3.0
2015-09-05T11:21:50.887
16291
2015-09-05T12:09:38.393
2015-09-05T12:09:38.393
3639
3639
16287
answer