Go言語によるWebサーバ構築
Go言語でWebサーバを起動
- Webサーバを起動
- テンプレートファイルを読み込んで表示
Go mainファイル
以下のソースコードを書く main.go
package main
import (
"log"
"net/http"
"path/filepath"
"sync"
"text/template"
)
type templateHandler struct {
once sync.Once
filename string
temp1 *template.Template
}
func (t *templateHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
t.once.Do(func() {
t.temp1 =
template.Must(template.ParseFiles(filepath.Join("templates", t.filename)))
})
t.temp1.Execute(w, nil)
}
func main() {
http.Handle("/", &templateHandler{filename: "template.html"})
// Webサーバを開始します
if err := http.ListenAndServe(":8080", nil); err != nil {
log.Fatal("ListenAndServe:", err)
}
}
テンプレートファイル
$ mkdir templates
<html>
<head>
<title>template</title>
</head>
<body>
Go Template
</body>
</html>
起動
$ go run main.go
http://localhost:8080 にアクセスするとテンプレートファイルが表示されているはず・・・
-
前の記事
IWATE HTML5 COMMUNITY #4 に参加 2015.11.21
-
次の記事
無料SSL letsencryptでHTTPS化する 2016.03.04