盤點(diǎn)Golang中非常好用的幾個(gè)包
Go Kit
go-kit本身不是一個(gè)框架,而是一套微服務(wù)工具集, 它可以用來(lái)解決分布式系統(tǒng)開(kāi)發(fā)中的大多數(shù)常見(jiàn)問(wèn)題. 所以你可以專注于你的業(yè)務(wù)邏輯中。
Gingko
Ginkgo是一個(gè) Go 測(cè)試框架,目的是幫助我們使用行為驅(qū)動(dòng)開(kāi)發(fā)(“BDD”)風(fēng)格高效地編寫富有表現(xiàn)力和全面的測(cè)試。它有著非常良好的幫助文檔,任何人都可以輕松地在項(xiàng)目中集成使用它。
NSQ
實(shí)時(shí)分布式消息傳遞平臺(tái),提供高可用性和可靠的消息傳遞保證??梢运綌U(kuò)展,支付負(fù)載均衡。安裝部署非常方便。
Goose
golang中最佳的數(shù)據(jù)庫(kù)遷移包。它通過(guò)創(chuàng)建增量 SQL 更改和 Go 函數(shù)來(lái)管理數(shù)據(jù)庫(kù)結(jié)構(gòu)。在golang1.16版本以上,它支持了嵌入式sql遷移。
GORM
它是一個(gè)功能齊全的 Golang 對(duì)象關(guān)系映射庫(kù)。GORM 是一種開(kāi)發(fā)人員友好的工具,用于在不兼容的類型系統(tǒng)之間轉(zhuǎn)換數(shù)據(jù)。它專門設(shè)計(jì)用于在類型系統(tǒng)之間切換時(shí)最大限度地減少重寫代碼。GORM 提供 SQL 構(gòu)建器、RAW SQL、自動(dòng)遷移工具、用于自定義的可擴(kuò)展插件。GORM 中的所有功能都帶有自己的測(cè)試,因此開(kāi)發(fā)人員可以輕松地嘗試新事物,而不會(huì)使整個(gè)系統(tǒng)陷入困境。
Authboss
一個(gè)模塊化的身份驗(yàn)證包,使用它你可以快速地在項(xiàng)目中進(jìn)行身份驗(yàn)證管理。它有幾個(gè)常見(jiàn)的身份驗(yàn)證和授權(quán)模塊供開(kāi)發(fā)人員選擇。
cli
cli是一個(gè)簡(jiǎn)單快捷的命令行管理包,用于為 Golang 構(gòu)建命令行應(yīng)用程序。它允許開(kāi)發(fā)人員開(kāi)發(fā)自己的富有表現(xiàn)力的命令行應(yīng)用程序。cli 用于創(chuàng)建標(biāo)志、bash 完成例程并生成幫助文本。
Vegeta
Vegeta是一個(gè)用于 HTTP 負(fù)載測(cè)試的工具包。這個(gè)多功能工具專為測(cè)試具有恒定請(qǐng)求率的 HTTP 服務(wù)而設(shè)計(jì)。它可以有效地分析程序中的潛在問(wèn)題。Vegeta 是一個(gè)始終貫穿以提高整體性能為目的的包。