您好,登錄后才能下訂單哦!
1. Golang-Set
Go 有數組,切片,映射,但是它沒有集合。您可以使用布爾映射來模擬一個集合,但是最好擁有一個具有正確操作和語義的實際數據類型。
這是 golang-set 的地址
2. Color
讓我們繼續 color 的介紹。在編寫命令程序時,使用顏色突出重要的消息和區分錯誤,成功和警告是非常有用的。
color 包提供了一種簡單的方法來為程序添加一些顏色(看到我做了什么嗎?) 。它使用 ANSII 轉義碼,也支持 Windows!
4. Gen
gen 工具會為您生成代碼——特別是類型識別代碼,它試圖彌補 Go 中沒有模板或泛型的缺陷
您可以使用一個特殊的注釋注釋您的類型,然后 gen 會生成您的項目中包含的源文件。
5. Gorm
Go 以其簡約的風格而聞名。數據庫編程也不例外。Go 大多數流行的 DB 庫都是非常底層的。Gorm 將對象——關系映射引入到以下特性中:
關聯 (Has One, Has Many, Belongs To, Many To Many, Polymorphism)
回調 (Before/After Create/Save/Update/Delete/Find)
預加載 (預先加載)
事務
復合主鍵
SQL 構建器
自動遷移
日志
可擴展, 基于 GORM 回調編寫插件
但是這并不能涵蓋所有內容。
如果你之前是使用 Python 開發,請不要指望 SQLAlchemy。
更多的高級用法,你需要去看底層。
6. Goose
使用關系數據庫時最重要的任務之一是管理模式。
在一些公司中,修改數據庫模式被認為是一種「可怕」的更改。goose 包幫助你更改模式,甚至在需要時進行數據遷移。 你可以隨意的 goose up
和 goose down
。不過要注意你的數據,確保它不會丟失或損壞。
Goose 的工作方式是對模式進行版本控制,并使用與每個模式對應的遷移文件。遷移文件可以使用 SQL 命令 或 Go 命令。下面是一個添加新表的 SQL 遷移文件示例:
8. Ginkgo
Ginkgo 是一個 BDD (行為驅動開發) 測試框架。它可以讓你使用類似于英語的語法編寫測試,并可以讓不太懂技術的人來檢查測試(與輸出),并驗證它們是否符合業務要求。
一些開發者也喜歡這種風格的測試規范。它與 Go 的內置測試包集成,并經常與 Gomega 結合使用。
9. Etcd
Etcd 是可靠的分布式鍵值存儲。該服務器在 Go 中實現,并且 Go 客戶端通過 gRPC 與之交互。
它著重在以下方面:
簡單: 良好定義的, 面向用戶的 API (gRPC).
安全: 自動 TLS 與可選的客戶端證書身份驗證。
快速: 基準測試 10,000 寫入/秒。
可靠: 使用 Raft 合理分配。
10. NSQ
NSQ 是一個很好的分布式隊列。我已經成功地使用它作為一個大型分布式系統的主要組成部分。以下是其一些功能:
支持分布式拓撲并且沒有 SPOF。
水平可擴展 (沒有代理,可以無縫地向群集添加更多節點)。
低延遲基于推送的消息傳遞(性能)。
組合負載均衡和多播消息路由方式。
在流(高吞吐量)和面向工作(低吞吐量)的工作負載下均具有 Excel。
主要在內存中(超出高水位標記的消息透明地保留在磁盤上)。
供消費者查找生產者的運行時發現服務(nsqlookupd)。
傳輸層安全 (TLS)。
數據格式檢測。
很少有依賴項(易于部署)和合理,有界的默認配置。
簡單的TCP協議支持客戶端庫中的任何一種語言。
用于統計信息,管理操作和生產者的 HTTP 接口(無需發布客戶端庫)。
與 statsd 集成,實現實時檢測。
健壯的集群管理接口( nsqadmin )。
以上就是分享十個優秀的 Go 類庫的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。