Go 言語でテンプレートエンジンを使ってみる

株式会社プライムストラクチャーのエンジニアのSayaです。

今回は Go 言語のテンプレートエンジンを使ってみたのでその方法を紹介します。

Template とは

Go の標準のライブラリです。
ソースコードとテンプレートを読み込んで HTML を表示することができます。
動的な内容も表示させることができます。

検証環境

macOS Mojave 10.14.5
go 1.12.7

ソースコードの記述

Go でソースコードを記述します。

<br />[sample.go]
package main

import (
"html/template"
"net/http"
)

func router() {
http.HandleFunc("/user", userIndex)
}

func userIndex(w http.ResponseWriter, r *http.Request) {
tmpl := template.Must(template.ParseFiles("user.tmpl"))

m := map[string]string{
"Name": "saya",
"Age": "12",
}

tmpl.Execute(w, m)
}

func main() {
// URLのルーティング
router()

// ポート
http.ListenAndServe(":8080", nil)
}

Templateを記述する

テンプレートファイルを用意して記述します。
“`user.tmpl
<h1>User</h1>
Name = {{.Name}}

Age = {{.Age}}

<br />## ブラウザで確認する
以下のコマンドで Go を起動します。
```bash
$ go run sample.go

そしてブラウザで

http://localhost:8080/user

を開いて確認します。


表示されました。

まとめ

今回はGo 言語でのテンプレートエンジンの使い方を紹介していきました。

テンプレートエンジンは HTML と DB を使ってページを整形することが出来ます。

なので DB を使って試してみるのも良いと思います。

参考文献

テンプレートの処理 · Build web application with Golang