Ginの実行環境作成
最近、Googleで調べものしているときやSNSでよく目にするGoですが、どうやらWebフレームワークも存在しており、標準ライブラリとはどう違うのかをみるべく、まずはフレームワークの一つであるGinのパッケージをインストールしてみようと思います。
Ginとは
Ginは、Go言語で記述されたWebフレームワークです。httprouterのおかげで最大40倍高速なパフォーマンスを備えたMartiniのようなAPIを備えています。パフォーマンスと優れた生産性が必要な場合は、Ginを気に入るはずです。
引用:Gin公式GitHub
作業環境
OS:Windows10 Home
プロセッサ:Intel(R) Core(TM) i5-3210M CPU2.50 GHz
RAM:8.00 GB (7.88 GB 使用可能)
Go:1.16.7 windows/amd64
Ginのインストール
Gin公式GitHubのREADMEに書いている通りに実行していこうと思います。
まずは以下のコマンドを実行してGinのパッケージを取得。エラー等が出なければこれでインストールは完了です。
go get -u github.com/gin-gonic/gin
つぎにインポートに関してですが、文頭のimport部分に以下のように記述するようです。
import "github.com/gin-gonic/gin"
簡単なコードの実行
ディレクトリ構成
GOPATH/
├ bin/
│ └ 省略
├ pkg/
│ └ 省略
│
└ src/
└ test/
└ main.go
公式のコードを少々改変したものを実行してみます。
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello World!",
})
})
r.Run()
}
go runで実行。
go run main.go
するとエラーが出ました。
src\test\main.go:3:8: no required module provides package github.com/gin-gonic/gin: go.mod file not found in current directory or any parent directory; see 'go help modules'
調べたところ、下記のコマンドを作業しているディレクトリで実行すると解決しました。
go mod init
go get -u github.com/gin-gonic/gin
そのまま作業ディレクトリで再度go runを実行。
go run main.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 / --> 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
ポートは8080で待機してるようなのでブラウザからhttp://localhost:8080にアクセスします。
上記のように表示出来たら成功です。サーバーを落とすときはコマンドラインでCtrl+Cとすると終了できます。
Author And Source
この問題について(Ginの実行環境作成), 我々は、より多くの情報をここで見つけました https://qiita.com/wt3022/items/e7fbdc832cdcf24986d1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .