golang開發類庫推薦

gin

  • star:74.6k

  • 地址:https://github.com/gin-gonic/gin

  • gin是最受開發者歡迎的 Web 框架,它有諸多的優點,性能高、輕量級和簡潔的 API 設計,社區活躍度高,靈活、可擴展性強。當然了,最最主要的就是性能非常高,能夠處理大量的併發請求。是web框架的不二之選。

  • 使用體驗:我們新的項目都是使用gin框架,優點很明顯,高性能、輕量、靈活;缺點就是太靈活了,就缺少了很多模塊,比如ORM模塊、MySQL模塊、Redis模塊等,對初學者來說還是有一定門檻的,想直接拿着gin擼一個項目出來還是有一定難度。

gorm

  • star:35k

  • 地址:https://github.com/go-gorm/gorm

  • gorm是Go語言中最受歡迎的ORM(Object-Relational Mapping)框架,它提供了強大的功能和簡潔的 API,讓數據庫操作變得更加簡單和易維護,避免了手寫SQL語句的麻煩。

  • 使用體驗:GO的orm使用的種類不多,只使用過gorm和beego的orm,使用感受上沒有太大的區別。

beego

  • star:30.7k

  • 地址:https://github.com/beego/beego

  • Beego是一個開源的web框架,被廣泛應用與Go語言的 web應用程序 的開發。它支持路由控制、配置管理、Session管理、日誌、ORM等各種功能。它的核心設計是簡單、易於學習和開發。

  • 使用體驗:beego是我們使用最多的框架,當時大多數同學都是從PHP轉過來的,幾乎沒任何門檻,就是按照PHP的方式編寫代碼,只不過把語言換了一下,集成的模塊比較多,配置文件解析、LOG、ORM、session等等,看它的文檔很容易擼出一個新項目,初學者、跨語言的建議使用beego,感官上沒有用 Go 語言的思維去設計框架,各種模塊比較臃腫,性能上跟輕量型的框架還是有差距的。

cli

  • star:21.4k

  • 地址:https://github.com/urfave/cli

  • cli提供了簡單快速的構建命令行的功能。可以很容易的通過命令設定參數和配置執行業務邏輯。

  • 使用體驗:我們的crontab的定時腳本都是使用cli的命令行執行的,挺好用的。當然了也沒使用過其他的命令行的類庫。

zap

  • star:20.6k

  • 地址:https://github.com/uber-go/zap

  • zap是 uber 開源的 Go 高性能日誌庫,支持不同的日誌級別,支持日誌記錄結構化,分配資源最小。

  • 使用體驗:高性能和靈活性兼具的日誌服務,碰過的幾乎所有的項目都是用 zap 記錄日誌,當然了,還是有一些門檻的。可供選擇的好用的日誌類庫也不多。

mysql

  • star:14.1k

  • https://github.com/go-sql-driver/mysql

  • 第三方的 MySQL 驅動,專爲 Go 的 sql 標準庫設計。它提供了對 MySQL 特性的支持,包括連接池、事務處理等,它的特點是高性能、安全性。

  • 使用體驗:這個感覺沒啥可說的,底層的協議驅動,各種ORM的框架、拼SQL的寫法,後面都是使用mysql驅動的。

redigo

  • star:9.7k

  • 地址:https://github.com/gomodule/redigo

  • Redigo 是一個Go 語言 Redis 客戶端庫,它提供了一個簡單的接口來執行 Redis 命令,它支持 Redis 的多種數據類型和操作,包括字符串、哈希、列表、集合和有序集合等。它也支持發佈/訂閱模式、事務、管道和連接池等功能。

  • 使用體驗:我們的項目使用Redis客戶端都是redigo,可使用的Redis客戶端就上面這兩個,找一個順眼的用就行了。

errors

  • star:8.1k

  • 地址:https://github.com/pkg/errors

  • pkg/errors 是一個 Go 語言的錯誤處理包,它提供了一個用於錯誤處理的機制,旨在簡化錯誤信息的創建和傳播。這個包提供了一種構建錯誤的原因和上下文的方法,使得在調試和錯誤追蹤時更加直觀和方便。

  • 使用體驗:我們的每個項目錯誤處理都是使用errors,它的的優勢是錯誤多次封裝包裹和傳寄,可以很方便的拿到錯誤的調用鏈和堆棧信息。

goconvey

  • star:8.1k

  • 地址:https://github.com/smartystreets/goconvey

  • GoConvey 是一個用於 Go 程序 測試框架。它通過提供一種易於閱讀和編寫的測試風格,幫助開發者定義和執行測試用例。特別適合於編寫複雜的測試場景,提高代碼的可讀性和可維護性。

  • 使用體驗:好用,本來需要輸出打印測試結果,GoConvey 讓測試成爲項目的一部分,提高測試代碼的可讀性,所有人讀代碼一目瞭然。

gin

  • star:4.2k

  • 地址:https://github.com/codegangsta/gin

  • gin是用於實時加載Go Web應用程序的程序。只需 gin 運行在應用程序的目錄中,gin就是實時監測,檢測到代碼更改後,將自動重新編譯代碼,應用在下次收到HTTP請求時就是用的修改後臺的代碼。

  • 使用體驗:覺得熱加載服務很有必要,這個也特別好用,不知道star爲啥這麼少,只要文件有修改,codegangsta/gin 就會自動編譯然後執行,在代碼編寫和調試的階段非常有用,極大的提高了效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章