go-ginチュートリアル — Part1
Golang紹介と環境構築 — MacOS編
go-ginフレームワークを習うため、チュートリアルを書きました。
Gin is a web framework written in Go (Golang). It features a martini-like API with much better performance, up to 40 times faster thanks to httprouter. If you need performance and good productivity, you will love Gin.
GinはGolang製のmicro web frameworkです、Martinier APIを似ています,特長はハイパフォーマンス、軽い、使いやすいという点です。httprouterのお蔭で、パフォーマンスが40倍ぐらい高くなりました。
環境構築
自分の環境と合わせ、Goのパッケージをdownloadしてください。
こちらはMacOSですから、 brew
でインストールしました。最新のgo 1.11.2を使います。
~ ❯❯❯brew install go
~ ❯❯❯go version
go version go1.11.2 darwin/amd64
GOPATHを設定します。Goの関連ツールは ~/go/bin
に入れます。$PATHに go/bin
のpathにも追加します。
~ ❯❯❯echo $GOPATH
/Users/gavin/go~ ❯❯❯ls ~/go
bin pkg src~ ❯❯❯export PATH="~/go/bin":$PATH
Go 1.11からパッケージ管理は vgo
を使えるのため、 vgo
にもインストールします。
~ ❯❯❯go get -u golang.org/x/vgo
~ ❯❯❯ vgo version
go version go1.11.2 darwin/amd64 vgo:devel +b0a1c5df98
Ginをインストールします。
go get -u github.com/gin-gonic/gin
test.go
のファイルを作成、テストをしてみます。
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080
}
テストフィアルを実行すると下記の様debugログを出てきた、便利な!
~ ❯❯❯go run test.go
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)[GIN-debug] GET /ping --> main.main.func1 (3 handlers)
[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default[GIN-debug] Listening and serving HTTP on :8080
$HOST:8080
へアクセステストします。 json
フォーマットのレスポンスを変えてきた。
~ ❯❯❯curl 127.0.0.1:8080/ping{"message":"pong"}%
では、ここまで環境構築が完了です。
続き、ginの blog api
を作成してみます。
サンプルコード下記のURLとなります。問題があった場合は、 issue
をいただければ、幸いです。
参照サイト