朝doの日記スマートフォン用の表示で見る朝doの日記この広告は、90日以上更新していないブログに表示しています。2015-05-06Golang+Martiniを使ってHTMLテンプレート(html/template)内で四則演算を行う方法MartiniでWebアプリ作ってるときに一瞬詰まったので、紹介します。HTMLテンプレートを使っていると、テンプレート内で変数の演算を行いたいときがあると思います。{{.IntValue}}を簡単な計算をしてから表示したいような場合です。1を加算したい場合、単純に考えると{{.IntValue+1}}のようにすると思います。Golangのテンプレート内では足し算や引き算等の演算が標準ではできません。(Rubyならできるのですが...)Golangのテンプレート内で演算を行うには、テンプレート用の関数を作成して登録する必要があります。template.FuncMapで関数の登録ができ、Martiniでもこれを使って登録をします。レンダラにテンプレート関数を登録します。top.tmplにvalueを渡してレンダリングします。}今回のポイントは以下の部分です。},},},}))render.Optionsに以上のようにして関数を定義して登録することができます。top.tmplというテンプレートに値を渡します。templatesディレクトリを作成して、その中にtop.tmplファイルを作ってください。引数2}}のようにして使います。main.goを実行して、http://localhost:3000にアクセスすると結果が表示されます。こんな感じでテンプレート内で演算することができます。ちなみにテンプレート内で変数を宣言して使うこともできます。$addValue}}です。</body></html>応用すると色々なことができそうですね。Goのテンプレートでは独自の関数を定義することで、様々な処理を追加することができます。今日もいいお天気ですね。iTunesを騙った不当請求なのか?ezoeコマンドをElixirで実装して分かったことまとめ月別アーカイブリンクはてなブログブログをはじめる週刊はてなブログはてなブログPro参加グループプログラミングはてなブログをはじめよう!ax3n_dataさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。