Gin入門編やってみた(Mac)
Ginとは
Go言語のWebFrameworkの一つです。
参考
エウレカさんのチュートリアルを途中まで再現してみました。 APIですこしつまづいているのでAPI実装は次回の記事で
Go言語製WAF GinでWebアプリを作ってみる【準備編】 | eureka tech blog
Goのインストール
$ brew install go
macでは一発でインストールできますがwindowsではすこし手間がかかりますが簡単にインストールできます。
goのバージョンを確認
$ go version go version go1.6.2 darwin/amd64
Ginインストール
Goの触れる環境を作成したら次にGinをインストールしてみる。 まずはGOPATHとGOROOTの設定
export GOPATH="$HOME/repos/gohome" export GOROOT="/usr/local/opt/go/libexec" export GOBIN="$GOPATH/bin" export PATH="$GOBIN:$GOROOT/bin:$PATH"
設定が反映されているか確認してみる
$ go env GOARCH="amd64" GOBIN="/bin" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/home/code/golang" GORACE="" GOROOT="/usr/local/opt/go/libexec" GOTOOLDIR="/usr/local/opt/go/libexec/pkg/tool/darwin_amd64" GO15VENDOREXPERIMENT="1" CC="clang" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common" CXX="clang++" CGO_ENABLED="1"
ここまでできたらGinをインストールしてみる
$ go get github.com/gin-gonic/gin
これでGinがインストールされます。
HelloWorld
ブラウザで確認してみる 1.まずは開発用のディレクトリを作成し main.goファイルを作成する。
package main import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.GET("/", func(c *gin.Context) { c.String(200, "Hello world") }) r.GET("/hoge", func(c *gin.Context) { c.String(200, "fuga") }) r.Run(":8080") }
サーバー起動
$ go run main.go [GIN-debug] GET / --> main.main.func1 (3 handlers) [GIN-debug] GET /hoge --> main.main.func2 (3 handlers) [GIN-debug] Listening and serving HTTP on :8080 [GIN] 2016/09/01 - 22:42:19 | 200 | 94.169µs | ::1 | GET / [GIN] 2016/09/01 - 22:42:27 | 404 | 1.202µs | ::1 | GET /fuga [GIN] 2016/09/01 - 22:42:38 | 200 | 6.408µs | ::1 | GET /hoge
localhost:8080にアクセスすると
localhost:8080/hogeでアクセスするとfugaがでてきます。
サーバにアクセスするごとにコマンドラインでGETリクエストがきていることがわかります。
次回はつまづいているAPIを実装してみようと思います。