必須知道的 17 個 Go 開發庫

包含各種使用場景的 Go 第三方列表。

隨着時間的推移,Go 語言愛好者已經創建並共享了許多 Go 框架和庫。這些庫有不同的功能,從微服務開發到構建 web 應用程序!

備註:在 Go 語言中我們都稱第三方庫爲 package(包)。

配置文件處理庫

配置文件通常以各種格式編寫,如 JSON 和 YAML。Go 有一個非常有用的包,它使讀取和寫入各種格式的配置文件成爲小菜一碟。

1、Viper:這是一個關於 Go 應用程序配置處理的完整解決方案,包括 12-Factor 應用程序。它作用在應用程序中,可以處理所有類型的配置文件和格式。

地址:https://github.com/spf13/viper

命令行接口

對於構建命令行應用程序,Go 有一個很棒的庫,使其變得輕而易舉。

2、Cobra:一個用於創建基於 Go 的 CLI 應用程序的強大庫。具備的功能有:

地址:https://github.com/spf13/cobra

環境變量

Go 有很多包能讀. env 文件,這些文件可以更容易地存儲各種應用程序密匙。

3、GoDotEnv:從. env 文件讀取變量非常簡單,而且使用起來相當輕便。

地址:https://github.com/joho/godotenv

自動化構建

自動化工具,旨在通過簡單的命令幫助執行任務。

你可能已經知道的一個流行工具是 Make 命令,它幫助我們使用 makefile 的任務自動化。一個很好的開發實踐是在 Makefile 中定義一個要執行的命令列表,我們可以在後面很容易地引用它並使用簡單的 make 命令執行。

4、Task:這個庫擁有更多的詳細說明,因此,在執行命令時比 Make 更好的解釋性。它也沒有依賴性,相比之下是相當輕量級的。

地址:https://taskfile.dev/

動態編譯

5、Air:這是一個實用的 Go 庫,當你在開發 Go 項目的時候,每當有代碼更新,該庫能自動檢測到代碼的更新並重新編譯運行你的項目。

地址:https://github.com/cosmtrek/air

Web 開發

以下是兩種經常被維護的頂級 web 框架:

6、Gin web 框架:這是 Go 最流行的 web 開發庫,有很多好的特性。

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

7、Iris web 框架:這也是在 Go 中構建高性能 web 應用程序和 api 的另一種選擇。如果你以前用過 ExpressJS,你會覺得有點熟悉。

地址:https://www.iris-go.com/

日期管理

8、Carbon:這是一個輕量級的、易於使用的、語義智能的日期時間庫,適用於 Go 開發者。

地址:https://github.com/golang-module/carbon

數據庫 ORM

9、Gorm:這是最容易使用的對象關係映射 (ORM) Go 庫,作者使用過三種主要的數據庫 SQLite, PostgreSQL 和 MySQL。

微服務

微服務通常在 Docker 和 Kubernetes 容器架構中使用,以構建健壯的應用程序。下面是幾個 Go 微服務包:

10、Echo:該框架支持 RESTful API 設計,是最流行的 Go 微服務框架。

地址:https://echo.labstack.com/guide/

11、go-micro:這個庫具有內置的身份驗證和數據存儲設計,在同一領域是另一個很好的選擇。確實很方便。

地址:https://github.com/go-micro/go-micro

web 爬蟲

12、Colly:這是一個很棒的 Go 網頁爬蟲框架,特別適合存檔 (我經常用它) 和數據挖掘。

地址:https://github.com/gocolly/colly

13、Retry

用於重試邏輯和回退。它是高度可擴展的,可以完全控制重試發生的方式和時間。還可以通過實現 backoff 接口編寫自己的自定義後退函數。

地址:https://github.com/sethvargo/go-retry

14、endless

golang HTTP 和 HTTPS 服務器的零停機重啓。

地址:https://github.com/fvbock/endless

15、定時任務 cron

地址:https://github.com/robfig/cron

其他:

16、Go-Redis:這是一個很棒的、高度維護的 Go redis 數據庫客戶端。它與 redis 6 和 7 都兼容,並且有一個非常簡單的設置過程。強烈推薦。

地址:https://github.com/go-redis/redis

17、go-elasticsearch:這是官方 Elasticsearch 的 Go 客戶端。

地址:https://github.com/elastic/go-elasticsearch

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/1sxaut0AhnEEltn1YH26cQ