五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

使用gin框架搭建簡易服務(wù)的實現(xiàn)方法

發(fā)布日期:2022-02-04 15:47 | 文章來源:腳本之家

go語言web框架挺多的,各有各的特點和風(fēng)格。我之所以在項目中使用gin框架,是因為項目一開始是用的martini,一個設(shè)計得很好的框架,但是存在一個比較嚴(yán)重的問題,就是大量使用反射使用太多導(dǎo)致效率過低(這個問題也導(dǎo)致了程序在訪問量暴漲時內(nèi)存上漲過快的問題),而且這個框架在去年就沒有人維護了,而作者推薦使用風(fēng)格很相近的gin框架,大概看了一下,風(fēng)格確實差不多,而且效率很高,于是就用了gin。至于其它的框架,了解得比較多的是beego,項目中也使用了它的子項目beelog,但是由于我做的項目是偏向于應(yīng)用服務(wù),而不是網(wǎng)站服務(wù),它的風(fēng)格更適合網(wǎng)站服務(wù),因此就沒有選擇它。

貼一下這兩個框架的github倉庫,martini就不推薦了

gin
beego

下面貼一下用gin搭建一個簡易的應(yīng)用服務(wù)的代碼片段,非常的簡單,看一下代碼注釋也很容易理解。

package main
import (
 "fmt"
 "github.com/gin-gonic/gin"
 "net/http"
)
func main() {
 gin.SetMode(gin.DebugMode) //全局設(shè)置環(huán)境,此為開發(fā)環(huán)境,線上環(huán)境為gin.ReleaseMode
 router := gin.Default() //獲得路由實例
 //添加中間件
 router.Use(Middleware)
 //注冊接口
 router.GET("/simple/server/get", GetHandler)
 router.POST("/simple/server/post", PostHandler)
 router.PUT("/simple/server/put", PutHandler)
 router.DELETE("/simple/server/delete", DeleteHandler)
 //監(jiān)聽端口
 http.ListenAndServe(":8005", router)
}
func Middleware(c *gin.Context) {
 fmt.Println("this is a middleware!")
}
func GetHandler(c *gin.Context) {
 value, exist := c.GetQuery("key")
 if !exist {
  value = "the key is not exist!"
 }
 c.Data(http.StatusOK, "text/plain", []byte(fmt.Sprintf("get success! %s\n", value)))
 return
}
func PostHandler(c *gin.Context) {
 type JsonHolder struct {
  Idint `json:"id"`
  Name string `json:"name"`
 }
 holder := JsonHolder{Id: 1, Name: "my name"}
 //若返回json數(shù)據(jù),可以直接使用gin封裝好的JSON方法
 c.JSON(http.StatusOK, holder)
 return
}
func PutHandler(c *gin.Context) {
 c.Data(http.StatusOK, "text/plain", []byte("put success!\n"))
 return
}
func DeleteHandler(c *gin.Context) {
 c.Data(http.StatusOK, "text/plain", []byte("delete success!\n"))
 return
}

用curl命令訪問這些接口可以得到對應(yīng)的返回結(jié)果

程序的日志輸出

這里只是快速上手的一些方法,作為一個web服務(wù)框架,功能當(dāng)然非常強大,這就需要在實際使用中慢慢挖掘和深究了。

到此這篇關(guān)于使用gin框架搭建簡易服務(wù)的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)gin框架搭建簡易服務(wù)內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

國外服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部