Gin入門
本章概要
- Gin簡介
- 開發第一個Gin程序
1.1 Gin簡介
Gin是用Go語言編寫的一個輕量級Web應用框架,現在在各個公司包括字節跳動、bilibili等大互聯網公司都得到了廣泛的應用。它有很好的性能和更快的路由。由於其本身只是在官方 net/http 包的基礎上做的完善,所以理解和上手很平滑。優雅的封裝,友好的API,明確的注釋。如果你們打算Go語言來構建一個Web應用,我非常推薦你使用它。總體來說,Gin的主要有如下優勢:
- 極其優秀的性能表現
- 擁有 Go 的編程思想
- 基於官方 net/http 包的有限封裝
- 使用了史上最快的路由 httprouter
- 方便、靈活的中間件
- 強大的數據綁定
- 活躍的開發者
Gin和Go語言一樣,是一個“年輕”的項目,發展非常迅速,使用者越來越多。非常適用於大小公司的線上環境運行。
1.2 開發第一個Gin程序
Go經過多年的演進,也產生了很多的依賴管理工作,包括dep,govendor等,在Go11版本后建議大家使用Go Modules來進行依賴管理。
1.2.1 創建Go Modules工程
這里不過多說明Go Modules的介紹,只介紹兩種創建Go Modules工程的方式。
1. 使用命令行創建Go Modules工程
首先可以通過go mod命令創建一個Go Modules工程,在cmd窗口中執行如下命令:
go mod init # 使用 go help mod 可以了解更多關於這個工具的使用。
使用命令行創建后,直接使用GoLand打開即可。
2. 使用GoLand創建Go Modules工程
GoLand作為與Intellij IDEA同屬JetBrains公司出品的編碼工具,在業界得到了廣泛的應用。使用GoLand創建Go Modules的步驟如下:
步驟一:創建項目時選擇Go Modules,然后按照需要選擇項目存放的位置和命名好項目名稱即可。
在國內,我們可以使用https://athens.azurefd.net/作為代理,以免下載不到被牆的官方依賴包。
1.2.2 項目構建
1.添加依賴 (可選)
在對應項目目錄的go.mod文件中添加Gin依賴:
require github.com/gin-gonic/gin v1.4.0
2.編寫啟動類
接下來創建項目的入口文件,在項目根目錄(與go.mod同級目錄)創建一個main.go文件,代碼如下:
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
r.GET("/hello", func(c *gin.Context) {
c.String(http.StatusOK, "hello gin!")
})
r.Run() // listen and serve on 0.0.0.0:8080
}
為什么說第一步是可選的呢?是因為如果你敲入代碼,代碼中又有對應依賴引入(import),在運行啟動命令時會自動幫你下載需要的依賴。非常智能,而IDE也會做同樣的事情。
1.2.3 項目啟動
啟動項目有三種不同的方式,下面一一介紹。
1.使用命令行啟動
可以直接到相關目錄使用命令行啟動項目,命令如下:
go run main.go 或 go run .
啟動成功后,在瀏覽器地址欄輸入 “http://localhost:8080/hello" 即可看到運行結果,運行結果如圖1-5所示。
2.直接運行main方法
直接在IDE中運行main方法,就可以看到項目啟動了,如圖1-5所示。
圖1-5
啟動成功后,也可以在瀏覽器中直接訪問/hello接口。
3.打包啟動
當然,Go應用也可以直接打成目標文件運行,在不同的環境中可以編譯打成不同的包,在windows環境是.exe文件,直接運行編譯打包命令:
go build main.go 或 go build .
打包完成后可以直接運行可執行文件即可,如圖1-7所示
圖1-7
1.3 小結
本章主要向讀者介紹了一個簡單的Gin項目的基本創建過程,從而讓讀者感受Gin的魅力。當一個Gin項目創建成功后,只需要少量的代碼就可以啟動一個性能非常好的Web應用,開發者可以直接使用它進行接口和Web應用的開發。第2章向讀者詳細介紹一下Gin的路由功能。