いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Goメモ-347 (plush)(JSPライクな書き方が出来るテンプレートエンジン)

関連記事

GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ

概要

以下、自分用のメモです。忘れない内にメモメモ。。。

たまたまですが、以下のリポジトリを発見しました。忘れないようにここにメモ。

github.com

JSPライクな感じでテンプレートを記載できるエンジンみたいですね。

こんな感じ。

package main

import (
        "fmt"

        "github.com/gobuffalo/plush"
)

var (
        tmpl = `# コメント
<%= for (i, v) in values { %>
        <%= i %>,<%= v %>
<% } %>
`
)

func main() {
        var (
                values = []string{"hello", "world"}
                ctx    = plush.NewContext()
        )

        ctx.Set("values", values)

        s, err := plush.Render(tmpl, ctx)
        if err != nil {
                panic(err)
        }

        fmt.Print(s)
}
$ go get -u github.com/gobuffalo/plush
$ go mod tidy
$ go run main.go
# コメント

        0,hello

        1,world

未だにGoのテンプレートの記法にはあまり慣れていないので、こっちの方が個人的にはすんなり行きそう。

時間があるときに使い方を勉強してみたい。

参考情報

qiita.com

golang.hateblo.jp

pkg.go.dev

Goのおすすめ書籍

Go言語による並行処理

Go言語による並行処理

Amazon


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。