跳到內容

簡介

Gin 是一個用 Go 語言(Golang)撰寫的 Web 框架。它提供類似 Martini 的 API,但效能更加卓越,得益於 httprouter,速度快上 40 倍。如果你追求高效能與高生產力,你一定會愛上 Gin。

在本節中,我們將介紹 Gin 是什麼、它解決了哪些問題,以及它如何幫助你的專案。

或者,如果你已經準備好在專案中使用 Gin,請造訪快速入門

特點

快速

基於 Radix 樹的路由,記憶體佔用極小。無反射機制。可預測的 API 效能表現。

中介軟體支援

傳入的 HTTP 請求可以由一連串的中介軟體和最終處理函式來處理。 例如:日誌記錄器、授權驗證、GZIP 壓縮,最後將訊息寫入資料庫。

不會當機

Gin 可以捕捉 HTTP 請求期間發生的 panic 並進行恢復。如此一來,你的伺服器將始終保持可用狀態。例如,你也可以將 panic 回報給 Sentry!

JSON 驗證

Gin 可以解析並驗證請求中的 JSON 資料——例如,檢查必要欄位是否存在。

路由分組

更好地組織你的路由。需要授權與不需授權的路由、不同的 API 版本等。此外,群組可以無限巢狀而不會降低效能。

錯誤管理

Gin 提供了便捷的方式來收集 HTTP 請求期間發生的所有錯誤。中介軟體最終可以將錯誤寫入日誌檔案、資料庫,或透過網路傳送。

內建渲染

Gin 提供簡單易用的 API,支援 JSON、XML 和 HTML 渲染。

可擴充

建立新的中介軟體非常簡單,只需查看範例程式碼即可。

Gin v1 穩定版

  • 零記憶體配置路由器。
  • 仍然是最快速的 HTTP 路由器和框架。從路由到寫入,全面領先。
  • 完整的單元測試套件。
  • 經過實戰驗證。
  • API 已凍結,新版本不會破壞你的程式碼。