golang的常見類庫有哪些-創(chuàng)新互聯(lián)

1. Golang-Set

創(chuàng)新互聯(lián)公司是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的電信機(jī)房托管服務(wù)

Go 有數(shù)組,切片,映射,但是它沒有集合。您可以使用布爾映射來模擬一個(gè)集合,但是最好擁有一個(gè)具有正確操作和語義的實(shí)際數(shù)據(jù)類型。

這是 golang-set 的地址

2. Color

讓我們繼續(xù) color 的介紹。在編寫命令程序時(shí),使用顏色突出重要的消息和區(qū)分錯(cuò)誤,成功和警告是非常有用的。

color 包提供了一種簡(jiǎn)單的方法來為程序添加一些顏色(看到我做了什么嗎?) 。它使用 ANSII 轉(zhuǎn)義碼,也支持 Windows!

4. Gen

gen 工具會(huì)為您生成代碼——特別是類型識(shí)別代碼,它試圖彌補(bǔ) Go 中沒有模板或泛型的缺陷

您可以使用一個(gè)特殊的注釋注釋您的類型,然后 gen 會(huì)生成您的項(xiàng)目中包含的源文件。

5. Gorm

Go 以其簡(jiǎn)約的風(fēng)格而聞名。數(shù)據(jù)庫編程也不例外。Go 大多數(shù)流行的 DB 庫都是非常底層的。Gorm 將對(duì)象——關(guān)系映射引入到以下特性中:

  • 關(guān)聯(lián) (Has One, Has Many, Belongs To, Many To Many, Polymorphism)

  • 回調(diào) (Before/After Create/Save/Update/Delete/Find)

  • 預(yù)加載 (預(yù)先加載)

  • 事務(wù)

  • 復(fù)合主鍵

  • SQL 構(gòu)建器

  • 自動(dòng)遷移

  • 日志

  • 可擴(kuò)展, 基于 GORM 回調(diào)編寫插件

但是這并不能涵蓋所有內(nèi)容。

如果你之前是使用 Python 開發(fā),請(qǐng)不要指望 SQLAlchemy。

更多的高級(jí)用法,你需要去看底層。

6. Goose

使用關(guān)系數(shù)據(jù)庫時(shí)最重要的任務(wù)之一是管理模式。

在一些公司中,修改數(shù)據(jù)庫模式被認(rèn)為是一種「可怕」的更改。goose 包幫助你更改模式,甚至在需要時(shí)進(jìn)行數(shù)據(jù)遷移。 你可以隨意的 goose upgoose down 。不過要注意你的數(shù)據(jù),確保它不會(huì)丟失或損壞。

Goose 的工作方式是對(duì)模式進(jìn)行版本控制,并使用與每個(gè)模式對(duì)應(yīng)的遷移文件。遷移文件可以使用 SQL 命令 或 Go 命令。下面是一個(gè)添加新表的 SQL 遷移文件示例:

8. Ginkgo

Ginkgo 是一個(gè) BDD (行為驅(qū)動(dòng)開發(fā)) 測(cè)試框架。它可以讓你使用類似于英語的語法編寫測(cè)試,并可以讓不太懂技術(shù)的人來檢查測(cè)試(與輸出),并驗(yàn)證它們是否符合業(yè)務(wù)要求。

一些開發(fā)者也喜歡這種風(fēng)格的測(cè)試規(guī)范。它與 Go 的內(nèi)置測(cè)試包集成,并經(jīng)常與 Gomega 結(jié)合使用。

9. Etcd

Etcd 是可靠的分布式鍵值存儲(chǔ)。該服務(wù)器在 Go 中實(shí)現(xiàn),并且 Go 客戶端通過 gRPC 與之交互。

它著重在以下方面:

  • 簡(jiǎn)單: 良好定義的, 面向用戶的 API (gRPC).

  • 安全: 自動(dòng) TLS 與可選的客戶端證書身份驗(yàn)證。

  • 快速: 基準(zhǔn)測(cè)試 10,000 寫入/秒。

  • 可靠: 使用 Raft 合理分配。

10. NSQ

NSQ 是一個(gè)很好的分布式隊(duì)列。我已經(jīng)成功地使用它作為一個(gè)大型分布式系統(tǒng)的主要組成部分。以下是其一些功能:

  • 支持分布式拓?fù)洳⑶覜]有 SPOF。

  • 水平可擴(kuò)展 (沒有代理,可以無縫地向群集添加更多節(jié)點(diǎn))。

  • 低延遲基于推送的消息傳遞(性能)。

  • 組合負(fù)載均衡和多播消息路由方式。

  • 在流(高吞吐量)和面向工作(低吞吐量)的工作負(fù)載下均具有 Excel。

  • 主要在內(nèi)存中(超出高水位標(biāo)記的消息透明地保留在磁盤上)。

  • 供消費(fèi)者查找生產(chǎn)者的運(yùn)行時(shí)發(fā)現(xiàn)服務(wù)(nsqlookupd)。

  • 傳輸層安全 (TLS)。

  • 數(shù)據(jù)格式檢測(cè)。

  • 很少有依賴項(xiàng)(易于部署)和合理,有界的默認(rèn)配置。

  • 簡(jiǎn)單的TCP協(xié)議支持客戶端庫中的任何一種語言。

  • 用于統(tǒng)計(jì)信息,管理操作和生產(chǎn)者的 HTTP 接口(無需發(fā)布客戶端庫)。

  • 與 statsd 集成,實(shí)現(xiàn)實(shí)時(shí)檢測(cè)。

  • 健壯的集群管理接口( nsqadmin )。

以上就是分享十個(gè)優(yōu)秀的 Go 類庫的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

標(biāo)題名稱:golang的常見類庫有哪些-創(chuàng)新互聯(lián)
標(biāo)題URL:http://muchs.cn/article32/dpeppc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣App開發(fā)、網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)公司、微信小程序、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)