1-Gin框架簡介和快速使用
一 Go Web框架介紹
1.1 Gin
Gin是一個golang的微框架,封裝比較優雅,API友好,原始碼註釋比較明確。具有快速靈活,容錯方便等特點。其實對於golang而言,web框架的依賴要遠比Python,Java之類的要小。自身的net/http足夠簡單,效能也非常不錯。框架更像是一些常用函式或者工具的集合。藉助框架開發,不僅可以省去很多常用的封裝帶來的時間,也有助於團隊的編碼風格和形成規範。
目前在很多使用Golang的中小型公司中進行業務開發,使用Gin框架的很多,github的star數57k+
Gin框架原始碼地址:https://github.com/gin-gonic/gin
Gin框架文件地址:
1.2 Beego
beego 是一個快速開發 Go 應用的 HTTP 框架,他可以用來快速開發 API、Web 及後端服務等各種應用,是一個 RESTful 的框架,主要設計靈感來源於 tornado、sinatra 和 flask 這三個框架,但是結合了 Go 本身的一些特性(interface、struct 嵌入等)而設計的一個框架。
Beego框架受歡迎的原因還有一個就是Beego是中國人開發的,文件都是中文的,star數量27k+
Beego框架原始碼地址:https://github.com/beego/beego/
Beego框架文件地址:
1.3 Iris
Iris是一個高效、設計良好的跨平臺web框架,具有一系列強大的功能。通過無限的潛力和可移植性構建自己的高效能web應用程式和API,Iris與Gin的學習曲線幾乎相同,star數量22k+
Iris框架原始碼地址:https://github.com/kataras/iris
Iris框架文件地址:https://www.iris-go.com/docs/#/
1.4 Echo
高效能、可擴充套件、極簡的Go web框架:star數量22k+
//1 優化路由器 高度優化的 HTTP 路由器,動態記憶體分配為零,可智慧地對路由進行優先順序排序。 //2 可擴充套件 構建健壯且可擴充套件的 RESTful API,輕鬆組織成組。 //3 自動 TLS 自動安裝 TLS 證書,https訪問 //4 HTTP/2 HTTP/2 支援提高了速度並提供了更好的使用者體驗。 //5 中介軟體 許多內建的中介軟體可以使用,或者自己定義。中介軟體可以設定在根、組或路由級別。 //6 資料繫結 HTTP 請求負載的資料繫結,包括 JSON、XML 或表單資料。 //7 資料渲染 用於傳送各種 HTTP 響應的 API,包括 JSON、XML、HTML、檔案、附件、內聯、流或 Blob。 //8 模板 使用任何模板引擎進行模板渲染。 //9 可擴充套件 定製的中央 HTTP 錯誤處理。易於擴充套件的 API。
Echo框架原始碼地址:https://github.com/labstack/echo
Echo框架文件地址:https://echo.labstack.com/guide/
二 Gin安裝和快速使用
2.1 安裝
要安裝Gin軟體包,您需要安裝Go並首先設定Go工作區,Go 1.13 及以上版本
1.首先需要安裝Go
go get -u github.com/gin-gonic/gin
2.將其匯入您的程式碼中:
import "github.com/gin-gonic/gin"
3.(可選)匯入net/http。例如,如果使用常量,則需要這樣做http.StatusOK。
import "net/http"
2.2 第一個hello world
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
// 1.建立路由
r := gin.Default()
// 2.繫結路由規則,執行的函式
// gin.Context,封裝了request和response
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "hello World!")
})
// 3.監聽埠,預設在8080
// Run("裡面不指定埠號預設為8080")
r.Run(":8000")
}
2.3 執行
//1 編譯並執行:go run example.go
//2 在瀏覽器中訪問 127.0.0.1:8080