Go言語のマイクロフレームワークであるIrisを使ってみる
開発環境は、Windows 10 Pro(64bit) + go version go1.15.3 windows/amd64。
1.以下のコマンドを入力して、プロジェクト用のディレクトリを作成したいと思います。
cd c:\ && mkdir iris_sample && cd iris_sample
go mod init iris_sample go get -u github.com/kataras/iris/v12@master
2.以下のコードをiris_sampleディレクトリ内にmain.goという名前で保存します。
package main import "github.com/kataras/iris/v12" type Book struct { Title string `json: "title"` } func main(){ app := iris.New() app.Get("/", func(ctx iris.Context){ books := []Book{ {"Mastering Concurrency in Go"}, {"Go Design Patterns"}, {"Black Hat Go"}, } ctx.JSON(books) }) app.Listen(":8080") }
3.以下のコマンドを入力して、Webサーバーを実行します
go run main.go
ちょっと時間がかかります。許可を求められるので、許可したら、localhost:8080にアクセスしてみてください。以下のように表示されます。結果は、JSON形式で返すので、以下のようになっています。
■JSONではなくてHTMLのテンプレートで表示してみる
※いったん、先ほど起動したWebサーバーを停止してください。
1.テンプレートを入れるディレクトリを作成する(viewsという名前で作成する)
mkdir views
2.以下のHTMLファイルをindex.htmlという名前でviewsディレクトリ内に保存してください
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <h1>Hello Iris!</h1> <h2>{{ .data }}</h2> </body> </html>
3.main.goのmain関数を以下のように書き換えてください
func main(){ app := iris.New() tmpl := iris.HTML("./views", ".html") app.RegisterView(tmpl) app.Get("/", func(ctx iris.Context){ ctx.ViewData("data", "Hello iris!") ctx.View("index.html") }) app.Listen(":8080") }
4.Webサーバーを実行して、localhost:8080にアクセスしてみてください。以下が結果です。
■参考リンク
Iris
Iris Docs
・公式サイトのドキュメントを読むよりも、IrisのGitHubのWikiを見た方が分かりやすいので、オススメ。
kataras / iris
iris
Golang - Iris Web Framework Tutorial - Getting Started & Basic App
Sessions