Goのテンプレート言語egoを使ってみた
golangのtext/template最近ようやく慣れてきたけど、
やっぱり{{}}
が増えてくると辛いので、他のパッケージに手をだしてみました。
egoが触った中で一番しっくりきたのと、一通り色々なことができそうな気配を感じたので気に入りました。
インストール
go get
だけでOKです。
$ go get github.com/benbjohnson/ego
egoを呼び出すソースコード
ディレクトリ構成
├── main.go └── templates └── sample.ego
templates/sample.ego
は、ego用のtemplateファイル。拡張子.ego
じゃないとダメです。
egoを実行する
$ ego -package main templates
実行するとego.go
が作成される。*1
├── ego.go ├── main.go └── templates └── sample.ego
go runで実行する
$ go run main.go ego.go ## Titleを表示 test ## Titleをローカル変数titleに代入して表示 title = test ## FooListをfor文で回して表示 abc ローカル変数のスコープ = test def ローカル変数のスコープ = test ghi ローカル変数のスコープ = test foo ローカル変数のスコープ = test ## FooMapをfor文で回してkeyとvalueを表示 キー: a 値: 111 ローカル変数のスコープ = test キー: b 値: 222 ローカル変数のスコープ = test キー: c 値: 333 ローカル変数のスコープ = test
*1: go:generateでも実行できます。参考