老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

如何使用golangweb框架Gin

這篇文章主要講解了“如何使用golang web框架Gin”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何使用golang web框架Gin”吧!  

我們提供的服務有:網站設計制作、成都網站建設、微信公眾號開發、網站優化、網站認證、陸豐ssl等。為上千企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的陸豐網站制作公司

Gin是用Go(Golang)編寫的Web框架。

準備

  • 首先需要安裝Go(需要1.12+版本)

1. 安裝

  • github地址     https://github.com/gin-gonic/gin

新建目錄go-gin-test. 然后cd進入目錄

?  mkdir go-gin-test
?  cd go-gin-test
 

我們使用 go mod作為我們項目的包管理。

初始化go.mod文件

go mod init example.com/m/v2 

可以使用下面的Go命令安裝Gin

go get -u github.com/gin-gonic/gin

看到如下輸出證明我們已經安裝好了gin。

?  go-gin-test  go get -u github.com/gin-gonic/gin
go: github.com/gin-gonic/gin upgrade => v1.6.3
go: gopkg.in/yaml.v2 upgrade => v2.4.0
go: github.com/golang/protobuf upgrade => v1.5.2
go: github.com/modern-go/reflect2 upgrade => v1.0.1
go: github.com/modern-go/concurrent upgrade => v0.0.0-20180306012644-bacd9c7ef1dd
go: github.com/ugorji/go/codec upgrade => v1.2.5
go: golang.org/x/sys upgrade => v0.0.0-20210403161142-5e06dd20ab57
go: github.com/go-playground/validator/v10 upgrade => v10.4.2
go: github.com/json-iterator/go upgrade => v1.1.10
go: github.com/leodido/go-urn upgrade => v1.2.1
go: downloading github.com/golang/protobuf v1.5.2
go: downloading golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57
go: downloading github.com/go-playground/validator/v10 v10.4.2
go: downloading github.com/ugorji/go v1.2.5
go: downloading google.golang.org/protobuf v1.26.0
go: downloading github.com/ugorji/go/codec v1.2.5
go: golang.org/x/crypto upgrade => v0.0.0-20210322153248-0c34fe9e7dc2
go: google.golang.org/protobuf upgrade => v1.26.0
go: downloading golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
 
  • 如果     go get長時間未響應或者出現超時建議使用     http://goproxy.cn/配置國內代理 

2. Hello World

現在我們來編寫我們的第一個web程序

?  go-gin-test tree -L 3
.
├── go.mod
└── go.sum
 

目前我們的目錄結構如上所示

接下來

  • 新建     main.go文件
?  go-gin-test tree -L 3
.
├── go.mod
├── go.sum
├── mian.go

首先我們來編輯main.go文件

package main

import "github.com/gin-gonic/gin"

func main() {
 r := gin.Default()
 r.GET("/hello", func(c *gin.Context) {
  c.JSON(200, gin.H{
  "message": "hello world",
  })
 })
 r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

執行go build -o hello來編譯為可執行文件

?  go-gin-test go build -o hello
?  go-gin-test ls
go.mod   go.sum   hello    mian.go
 

執行./hello讓我們的服務跑起來

?  go-gin-test ./hello
[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    /hello                    --> 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

 

打開瀏覽器查看http://localhost:8080/hello

如何使用golang web框架Gin  
image.png

至此,我們已經完成第一個web服務的構建

3. Router的分組和封裝

在實際的生產活動中,業務接口通常需要拆分成很多,例如/user/XXX/api/XXX,那我們利用gin應該怎么做呢?

我們接著上面的工程進行改造

  • 新建     routerex文件夾
  • 新建     router.go文件
?  go-gin-test tree -L 3
.
├── go.mod
├── go.sum
├── hello
├── mian.go
└── routerex
  └── router.go

編輯router.go文件

package routerex

import "github.com/gin-gonic/gin"

func InitRouter(g *gin.Engine) {
  //第一組api接口 例如:http://localhost:8080/g1/hello1
  g1 := g.Group("g1")

  g1.GET("/hello1", func(c *gin.Context) {
  c.JSON(200, gin.H{
  "msg": "Hello g1",
  })
  })
  //第二組api接口 例如:http://localhost:8080/g1/hello1
  g2 := g.Group("g2")
  g2.GET("/hello2", func(c *gin.Context) {
  c.JSON(200, gin.H{
  "msg": "Hello g2",
  })
  })

}

 

編輯main.go文件

package main

import (
 "example.com/m/v2/routerex"
 "github.com/gin-gonic/gin"
)

func main() {
 r := gin.Default()
 routerex.InitRouter(r)
 r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
 

同樣的執行go build -o hello編譯

執行./hello啟動服務

打開瀏覽器查看http://localhost:8080/g1/hello1http://localhost:8080/g2/hello2

如何使用golang web框架Gin  
image.png
如何使用golang web框架Gin  
image.png

可以看出我們已經拆分了兩個不同的api組。并且封裝了router的注冊方式。

可以嘗試聯系以上方法

下一期內容預告:

  • gin的中間件的使用
  • post和get接口不同的獲取參數方式
  • ...

想獲取工程的同學可以關注超級英雄吉姆,在公眾號里發送gin,獲取工程。

如果你有更多的想知道的內容或者有什么好的建議,可以在評論里回復,或者關注我的公眾號超級英雄吉姆,在公眾號留言,我看到后第一時間回復。

感謝各位的閱讀,以上就是“如何使用golang web框架Gin”的內容了,經過本文的學習后,相信大家對如何使用golang web框架Gin這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!


網站標題:如何使用golangweb框架Gin
文章鏈接:http://www.xueling.net.cn/article/jidocg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 一区二区三区在线免费观看 | 公主荫蒂每天被男人添H | 日韩欧美视频免费观看 | 中文字幕一区二区三区在线视频 | 日本三级图片 | 黑人粗硬进入过程视频 | 免费无人区男男码卡二卡 | 国产精拍| 国产一卡2卡3卡4卡新区乱码在 | 亚洲另类一区二区 | 91免费版在线?看 | 夜夜躁狠狠躁日日躁2022 | 少妇爆乳无码专区网站 | 国产资源中文字幕 | 国产精品天干天干 | 国精品人妻无码一区二区三区性色 | 日本一卡2卡三卡4卡无卡免费网站 | porn一区| 极品美女销魂一区二区三区免费 | 黄色+视频+卡1+国产 | 国产欧美日韩视频免费 | 久久久www免费人成人片 | 黑人女人性较视频免费视频 | 日韩免费视频一区 | 无码人妻少妇色欲AV一区二区 | 抽搐一进一出gif日本 | 欧日一级片 | www.国产在线观看 | 日本美国大片免费视频播放器 | 欧美最猛黑人XXXX黑人猛交98 | 亚洲国产精品一区二区三区 | 免费夜里18款禁用b站软粉色 | 亚洲区中文字幕 | av网址免费在线 | 99久久婷婷国产综合精品青草免费 | 亚洲欧美日韩国产专区一区 | 天堂资源在线观看免费高清视频 | 黄色福利在线观看 | 中文字幕第33页 | 国产黄色小视频 | 亚洲国产天堂久久久久久 |