go-ginチュートリアル — Part1

Golang紹介と環境構築 — MacOS編

gavin.zhou
4 min readNov 6, 2018

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 をいただければ、幸いです。

hello-gin

参照サイト

--

--

No responses yet