漢なら golang で文字列テンプレート処理したいですね!
golang では text/template
パッケージが標準で入っています.
でもサンプルを見ると構造体を作ってデータを流し込んでいてちょっと面倒ですね.
type Inventory struct {
Material string
Count uint
}
sweaters := Inventory{"wool", 17}
tmpl, err := template.New("test").Parse("{{.Count}} items are made of {{.Material}}")
if err != nil { panic(err) }
err = tmpl.Execute(os.Stdout, sweaters)
if err != nil { panic(err) }
python のように dictionary 的にデータを流しこみたいですね.
できました.
package main
import (
"fmt"
"bytes"
"text/template"
)
func main() {
d := make(map[string]string)
d["a"] = "muda"
d["b"] = "dora"
d["c"] = "bora"
const t = "{{.a}} = {{.b}} + {{.c}}\n"
tmpl, err := template.New("test").Parse(t)
if err != nil {
panic(err)
}
var doc bytes.Buffer
if err := tmpl.Execute(&doc, d); err != nil {
panic(err)
}
s := doc.String()
fmt.Printf("Result: %s", s)
}