<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## 1. 介紹 Gin 是一個用 Golang編寫的 高性能的web 框架, 由于http路由的優化,速度提高了近 40 倍。 Gin的特點就是封裝優雅、API友好。 Gin的一些特性: - 快速 基于 Radix 樹的路由,小內存占用。沒有反射。可預測的 API 性能。 - 支持中間件 傳入的 HTTP 請求可以由一系列中間件和最終操作來處理。 例如:Logger,Authorization,GZIP,最終操作 DB。 - Crash 處理 Gin 可以 catch 一個發生在 HTTP 請求中的 panic 并 recover 它。這樣,你的服務器將始終可用。例如,你可以向 Sentry 報告這個 panic! - JSON 驗證 Gin 可以解析并驗證請求的 JSON,例如檢查所需值的存在。 - 路由組 更好地組織路由。是否需要授權,不同的 API 版本…… 此外,這些組可以無限制地嵌套而不會降低性能。 - 錯誤管理 Gin 提供了一種方便的方法來收集 HTTP 請求期間發生的所有錯誤。最終,中間件可以將它們寫入日志文件,數據庫并通過網絡發送。 - 內置渲染 Gin 為 JSON,XML 和 HTML 渲染提供了易于使用的 API。 - 可擴展性 新建一個中間件非常簡單。 ## 2.下載并安裝 - 首先需要安裝golang的環境(略) - 安裝gin ```go go get -u github.com/gin-gonic/gin ``` ## 3.簡單的例子 - 新建main.go文件 ```go package main // 導入gin包 import "github.com/gin-gonic/gin" // 入口函數 func main() { // 初始化一個http服務對象 r := gin.Default() // 設置一個get請求的路由,url為/hello, 處理函數(或者叫控制器函數)是一個閉包函數。 r.GET("/hello", func(c *gin.Context) { // 通過請求上下文對象Context, 直接往客戶端返回一個json c.JSON(200, gin.H{ "message": "hello world", }) }) r.Run() // 監聽并在 0.0.0.0:8080 上啟動服務 } ``` - 訪問localhost:8080/hello - 響應 ```json { "message": "hello world" } ``` - 自定義訪問的address和port ```go package main import ( "fmt" "github.com/gin-gonic/gin" ) //定義address和port const ( address string = "0.0.0.0" port int = 80 ) func main() { // 初始化一個http服務對象 r := gin.Default() // 設置一個get請求的路由,url為/hello, 處理函數(或者叫控制器函數)是一個閉包函數。 r.GET("/hello", func(c *gin.Context) { // 通過請求上下文對象Context, 直接往客戶端返回一個json c.JSON(200, gin.H{ "message": "hello world", }) }) r.Run(fmt.Sprintf("%s:%d", address, port)) // 監聽并在 0.0.0.0:80 上啟動服務 } ``` - 訪問localhost/hello - 響應 ```json { "message": "hello world" } ``` ## 4.小結 1. 使用gin可以快速的實現一個高性能的http服務。 2. gin支持中間件,路由組,json校驗,內容渲染,json校驗錯誤管理等特性,擴展性高。 3. gin不提供orm組件、配置管理等,如果項目中需要進行數據持久化等操作需要引入相關的包,如:gorm,xorm等。 > 更多內容請關注我的博客[SOCKSTACk](https://www.sockstack.cn)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看