精選的 Go 框架,庫和軟體的精選清單

滄浪發表於2020-03-02

這是一個Go 相關的框架,庫和軟體的精選清單,引用自 awesome-go專案,並翻譯補充而來這是一個Go 相關的框架,庫和軟體的精選清單,引用自 awesome-go專案,並翻譯補充而來

如果看到不再維護的專案,請及時聯絡發帖者或留言,謝謝!*

音訊和音樂

用於處理音訊的庫。

  • EasyMIDI -EasyMidi是一個簡單可靠的庫,用於處理標準Midi檔案(SMF)。

  • flac支援FLAC流的Native Go FLAC編碼器/解碼器。

  • gaad機Go AAC位元流解析器。

  • go- sox-用於go的libsox繫結。

  • go_mediainfo-用於go的libmediainfo繫結。

  • gosamplerate-用於go的libsamplerate繫結。

  • id3v2-用於Go的快速,穩定的ID3解析和編寫庫。

  • malgo-迷你音訊庫。

  • minimp3-輕量級MP3解碼器庫。

  • mix -為音樂應用程式基於序列轉到本地音訊混合器。

  • mp3 -Native Go MP3解碼器。

  • music-theory -Go中的音樂理論模型。

  • Oto-在多個平臺上播放聲音的低階庫。

  • PortAudio-用於PortAudio音訊 I / O 庫的繫結。

  • portmidi-繫結PortMidi。

  • taglib-為taglib繫結。

  • vorbis- “本機” Go Vorbis解碼器(使用CGO,但沒有依賴項)。

  • waveform -Go程式包,能夠從音訊流生成波形影象。

身份驗證和OAuth

用於實施認證方案的庫。

  • authboss -Web的模組化身份驗證系統。它嘗試刪除儘可能多的樣板檔案和“硬東西”,以便每次在Go中啟動新的Web專案時,都可以將其插入,配置並開始構建應用程式,而不必每次都構建身份驗證系統。

  • branca -Branca令牌的Golang實現。

  • casbin授權庫,支援訪問控制模型,如ACL,RBAC,ABAC。

  • cookiestxt提供cookies.txt檔案格式的解析器。

  • go-jose -JOSE工作組的JSON Web令牌,JSON Web簽名和JSON Web加密規範的相當完整的實現。

  • go-oauth2 server-用Golang編寫的獨立,符合規範的OAuth2伺服器。

  • gologin用於使用OAuth1和OAuth2身份驗證提供程式登入的可連結處理程式。

  • gorbac提供基於角色的輕量級訪問控制(RBAC)實現。

  • goth -提供一種簡單,乾淨且慣用的方式來使用OAuth和OAuth2。開箱即用地處理多個提供程式。

  • httpauth -HTTP身份驗證中介軟體。

  • jeff具有可插拔後端的簡單,靈活,安全且慣用的Web會話管理。

  • jwt乾淨且易於使用的JSON Web令牌(JWT)實現。

  • jwt輕量級JSON Web令牌(JWT)庫。

  • jwt-auth auth-用於Golang http伺服器的JWT中介軟體,具有許多配置選項。

  • jwt-go -JSON Web令牌(JWT)的Golang實現。

  • loginsrv-具有可插入後端的JWT登入微服務,例如OAuth2(Github),htpasswd和osiam。

  • oauth2 -goauth2的後繼者。JWT,Google API,Compute Engine和App Engine支援隨附的通用OAuth 2.0程式包。

  • osin -Golang OAuth2伺服器庫。

  • paseto與平臺無關的安全令牌(PASETO)的Golang實現。

  • permissions2 2-用於跟蹤使用者,登入狀態和許可權的庫。使用安全的cookie和bcrypt。

  • rbac-用於Go應用程式的簡約RBAC軟體包。

  • scope -在Go中輕鬆管理OAuth2範圍。

  • scs -HTTP伺服器的會話管理器。

  • securecookie-高效的安全cookie編碼/解碼。

  • session -Web伺服器的Go會話管理(包括對Google App Engine-GAE的支援)。

  • sessiongate- go-使用SessionGate Redis模組進行Go會話管理。

  • sessions -用於go http伺服器的簡單,高效能,高度可定製的會話服務。

  • sessionup-簡單但有效的HTTP會話管理和標識包。

  • signedvalue -簽署併相容時間戳的字串龍捲風 create_signed_valuedecode_signed_value以及因此set_secure_cookieget_secure_cookie

  • sjwt-簡單的jwt生成器和解析器。

機器人

用於構建和使用機器人的庫。

  • go-chat- bot-用Go編寫的IRC,Slack和Telegram機器人。

  • go- joe-受Hubot啟發但用Go編寫的通用bot庫。

  • go-sarah-為所需的聊天服務(包括LINE,Slack,Gitter等)構建機器人的框架。

  • go-tgbot-純Golang電報Bot API包裝器,由swagger檔案,基於會話的路由器和中介軟體生成。

  • go-twitch-irc-庫為twitch.tv聊天寫機器人

  • Golang CryptoTrading Bot-基於控制檯的交易機器人的golang實現,用於加密貨幣交易。

  • govkbot-簡單的Go VK機器人庫。

  • hanu-編寫Slack機器人的框架。

  • stellar(Kelp)-Stellar DEX的官方交易和做市機器人。開箱即用,用Golang編寫,可與集中交易和自定義交易策略相容。

  • margelet-構建Telegram機器人的框架。

  • micha-用於電報Bot API的庫。

  • slacker-易於使用的框架來建立Slack機器人。

  • slackscot-用於構建Slack機器人的另一個框架。

  • tbot-具有類似於net / http的API的電報bot伺服器。

  • telebot-用Go編寫的電報bot框架。

  • telegram-bot-api-簡單幹淨的Telegram bot客戶端。

  • Tenyks-使用Redis和JSON進行訊息傳遞的面向服務的IRC機器人。

命令列

標準CLI

用於構建標準或基本命令列應用程式的庫。

  • 1build-命令列工具,可輕鬆管理特定於專案的命令。

  • argparse-受Python的argparse模組啟發的命令列引數解析器。

  • argv -Go庫使用bash語法將命令列字串拆分為引數陣列。

  • CLI -基於golang結構標籤易於使用的命令列包功能豐富。

  • cli-用於在Go中構建命令列介面的簡單而完整的API。

  • cli- init-開始構建Golang命令列應用程式的簡單方法。

  • climax -按照Go命令的精神,具有“人臉”功能的替代CLI。

  • clîr-簡單清晰的CLI庫。無依賴關係。

  • cmd-擴充套件標準flag軟體包以支援子命令,並以idomatic方式提供更多支援。

  • cmdr-一種POSIX / GNU樣式,類似於getopt的命令列UI Go庫。

  • cobra -現代Go CLI互動的指揮官。

  • commandeer-開發人員友好的CLI應用程式:根據結構欄位和標籤設定標誌,預設值和用法。

  • complete-在Go + Go命令bash完成中編寫bash完成。

  • Dnote-具有多裝置同步功能的簡單命令列筆記本。

  • docopt.go-命令列引數解析器,它將使您微笑。

  • env-基於標記的結構環境配置。

  • flag -簡單但功能強大的命令列選項解析庫,用於支援圍棋子。

  • flaggy-強大而慣用的標誌包,具有出色的子命令支援。

  • flagvar -Go的標準flag軟體包的標誌引數型別的集合。

  • go-arg -Go中基於結構的引數解析。

  • go-commander -Go庫可簡化CLI工作流程。

  • go-flags -go命令列選項解析器。

  • go-getoptions -Go選項解析器,它啟發了Perl的GetOpt :: Long的靈活性。

  • gocmd-用於構建命令列應用程式的Go庫。

  • hiboot cli-具有自動配置和依賴項注入的cli應用程式框架。

  • job -JOB,將您的短期命令作為一項長期工作。

  • kingpin-支援子命令的命令列和標誌解析器。

  • liner -用於命令列介面的類似於readline的庫。

  • mitchellh / cli-用於實現命令列介面的Go庫。

  • mow.cli -Go庫,用於使用複雜的標誌和引數解析和驗證來構建CLI應用程式。

  • ops -Unikernel生成器/協調器。

  • pflag -Go的標誌包的直接替換,實現POSIX / GNU樣式的–flags。

  • readline-純的golang實現,根據MIT許可在GNU-Readline中提供大多數功能。

  • sand-用於建立直譯器的簡單API等。

  • sflags-基於結構的標誌生成器,用於標誌,urfave / cli,pflag,眼鏡蛇,主銷和其他庫。

  • strumt-建立提示鏈的庫。

  • ts-時間戳轉換和比較工具。

  • ukautz / clif-小型命令列介面框架。

  • urfave / cli-簡單,快速,有趣的軟體包,用於在Go中構建命令列應用程式(以前為codegangsta / cli)。

  • wlog-支援跨平臺顏色和併發性的簡單日誌記錄介面。

  • wmenu-用於cli應用程式的易於使用的選單結構,提示使用者做出選擇。

高階控制檯使用者介面

用於構建控制檯應用程式和控制檯使用者介面的庫。

  • asciigraph -Go軟體包,可在命令列應用程式中製作輕量級的ASCII線圖graph,而無需其他依賴項。

  • aurora - ANSI終端顏色支援fmt.Printf / sprintf的。

  • cfmt-受載入程式顏色類啟發的上下文fmt。

  • chalk -直觀的包裝,用於美化終端/控制檯輸出。

  • colourize -Go庫,用於終端中的ANSI顏色文字。

  • ctc-非侵入性跨平臺終端顏色庫不需要修改Print方法。

  • go-ataman -Go庫,用於在終端中呈現ANSI彩色文字模板。

  • go-colorable -Windows 的可著色書寫器。

  • go-colortext-用於在終端輸出顏色的Go庫。

  • go-isatty -golang的isatty。

  • go- prompt-受python-prompt-toolkit啟發,用於構建功能強大的互動式提示的庫。

  • gocui-極簡主義Go庫,旨在建立控制檯使用者介面。

  • gommon / color-樣式終端文字。

  • gookit / color-終端顏色渲染工具庫,支援16種顏色,256種顏色,RGB顏色渲染輸出,與Windows相容。

  • mpb-終端應用程式的多進度條。

  • progressbar-在每個OS中均可使用的基本執行緒安全進度條。

  • simpletable -Go終端中的簡單表。

  • tabby -超級簡單Golang表一個小小的圖書館。

  • tabular -從命令列實用程式列印ASCII表,而無需將大量資料傳遞給API。

  • termbox-go -Termbox是用於建立跨平臺基於文字的介面的庫。

  • termdash-基於termbox的並受termui啟發的終端儀表板。

  • termui-基於termbox-go的終端儀表板,其靈感來自blessed-contrib

  • uilive-用於實時更新終端輸出的庫。

  • uiprogress-靈活的庫,用於在終端應用程式中呈現進度條。

  • uitable-使用表格資料提高終端應用程式可讀性的庫。

組態

用於配置解析的庫。

  • cleanenv-簡約的配置讀取器(來自檔案,ENV,以及您想要的任何位置)。

  • config-用於Go專案的輕量級但功能強大的配置包。

  • config-雲本機應用程式配置。僅兩行將ENV繫結到結構。

  • config - JSON或YAML配置與包裝環境變數和標誌解析。

  • configure-通過多個來源提供配置,包括JSON,標誌和環境變數。

  • confita-從多個後端以級聯方式將配置載入到結構中。

  • conflate -圖書館/工具合併來自任意URL,驗證多個JSON / YAML / TOML檔案針對JSON模式,並在架構中定義的預設值應用。

  • ENV -解析環境變數去結構(使用預設值)。

  • envcfg環境變數解編為Go結構。

  • envconf-來自環境的配置。

  • envconfig-從環境變數中讀取您的配置。

  • envh-幫助程式管理環境變數。

  • gcfg-將INI樣式的配置檔案讀取到Go結構中;支援使用者定義的型別和子節。

  • genv-通過dotenv支援輕鬆讀取環境變數。

  • go-ssm-config -Go實用程式,用於從AWS SSM(引數儲存)載入配置引數。

  • go-up-一個簡單的配置庫,具有遞迴佔位符解析度,沒有魔術。

  • goConfig-將結構解析為輸入,並使用命令列,環境變數和配置檔案中的引數填充此結構的欄位。

  • godotenv -Ruby的dotenv庫的Go埠(從載入環境變數.env)。

  • gofigure Go應用程式的配置。

  • missing / jconf-模組化JSON配置。在不犧牲完整的配置序列化的情況下,使您的配置結構以及它們配置的程式碼以及將解析委派給子模組的過程。

  • gookit / config-應用程式配置管理(載入,獲取,設定)。支援JSON,YAML,TOML,INI,HCL。多檔案載入,資料覆蓋合併。

  • harvester -一個易於使用的靜態和動態配置包supportig播種,ENV VAR和整合領事。

  • hjson -Human JSON,人類的配置檔案格式。輕鬆的語法,更少的錯誤,更多的註釋。

  • ingo-標誌ingo在類似ini的配置檔案中。

  • ini-轉到包中以讀取和寫入INI檔案。

  • joshbetz / config -Go的小型配置庫,用於解析環境變數,JSON檔案,並在SIGHUP上自動重新載入。

  • kelseyhightower / envconfig -Go庫,用於管理來自環境變數的配置資料。

  • koanf-輕巧,可擴充套件的庫,用於讀取Go應用程式中的配置。內建對JSON,TOML,YAML,env,命令列的支援。

  • konfig-在分散式處理時代,Go的可組合,可觀察和高效能配置處理。

  • mini -Golang軟體包,用於解析ini樣式的配置檔案。

  • nasermirzaei89 / env-用於讀取環境變數的簡單有用的程式包。

  • onion -用於Go的基於層的配置,支援JSON,TOML,YAML,屬性,etcd,env和使用PGP加密。

  • sprbox-構建環境感知工具箱工廠和不可知的配置解析器(YAML,TOML,JSON和環境變數)。

  • store -Go的輕量級配置管理器。

  • viper -使用尖牙進行配置。

  • xdg-遵循XDG標準的跨平臺軟體包。

持續整合

持續整合幫助工具。

  • CDS-企業級CI / CD和DevOps自動化開源平臺。

  • drone -Drone是一個基於Go編寫的基於Docker的持續整合平臺。

  • duci-簡單的ci伺服器,不需要特定於域的語言。

  • gomason-在乾淨的工作區中測試,構建,簽名和釋出go二進位制檔案。

  • goveralls -Go Coveralls.io連續程式碼覆蓋率跟蹤系統的整合。

  • overalls -適用於工具包之類的Multi-Package go project coverprofile。

  • roveralls-遞迴覆蓋率測試工具。

CSS前處理器

用於預處理CSS檔案的庫。

  • gcss -Pure Go CSS前處理器。

  • go-libsass-轉到與100%Sass相容的libsass專案的包裝器。

資料結構

Go中的通用資料結構和演算法。

  • algorithms -演算法和資料結構。CLRS研究。

  • binpacker-二進位制打包程式和解壓縮程式可幫助使用者構建自定義二進位制流。

  • bit -具有額外的位旋轉功能的Golang設定資料結構。

  • bitset -實現位集的Go包。

  • bloom-在Go中實現的Bloom過濾器。

  • bloom -Golang Bloom過濾器實現。

  • boomfilters-用於處理連續,無界流的概率資料結構。

  • parallel-writer-的高度併發替代bufio.Writer

  • conjungo-一個小型,強大而靈活的合併庫。

  • count-min-log-執行Count-Min-Log草圖:使用近似計數器進行近似計數(類似於Count-Min草圖,但使用較少的記憶體)。

  • crunch -Go包實現了用於輕鬆處理各種資料型別的緩衝區。

  • cuckoofilter -Cuckoo過濾器:是Go中實現的計數布隆過濾器的很好替代。

  • deque-高度優化的雙端佇列。

  • deque-快速環形緩衝區雙端佇列(雙端佇列)。

  • dict -Go的類似Python的字典(dict)。

  • encoding -Go的整數壓縮庫。

  • go-adaptive-radix-tree-自適應基數樹的 Go實現。

  • go-datastructures-有用,高效能和執行緒安全的資料結構的集合。

  • go-ef -Elias-Fano編碼的Go實現。

  • go-geoindex-記憶體中的地理索引。

  • go-mcache-快速記憶體鍵:值儲存/快取庫。指標快取。

  • go-rquad-具有有效點位置和鄰居發現功能的區域四叉樹。

  • gocache-具有多個儲存(記憶體,memcache,redis等),可連結,可載入,指標快取等的完整Go快取庫。

  • goconcurrentqueue-併發FIFO佇列。

  • gods -資料結構。容器,集合,列表,堆疊,地圖,BidiMap,樹,HashSet等。

  • gofal -Go的小數api。

  • golang-set - Go的執行緒安全和非執行緒安全高效能集。

  • goset -Go的有用的Set集合實現。

  • goskiplist -Go中的跳過列表實現。

  • gostl - go的資料結構和演算法庫,旨在提供類似於C ++ STL的功能。

  • gota -Go的資料框,序列和資料整理方法的實現。

  • hide -ID型別,將其編組進/出雜湊以防止將ID傳送給客戶端。

  • hilbert -Go程式包,用於在空間填充曲線(例如Hilbert和Peano曲線)之間對映值。

  • hyperloglog-具有稀疏,LogLog-Beta偏差校正和TailCut空間縮減的HyperLogLog實現。

  • iter -C ++ STL迭代器和演算法的實現。

  • levenshtein -Levenshtein距離和相似性度量標準,具有可自定義的編輯費用和通用字首的類似於Winkler的獎金。

  • levenshtein-在Go中計算levenshtein距離的實現。

  • mafsa-具有最小完美雜湊的MA-FSA實現。

  • merkletree -merkle樹的實現,可對資料結構的內容進行有效且安全的驗證。

  • mspm-用於資訊檢索的多字串模式匹配演算法。

  • null -可空轉到型別,可以被編組/解組到/從JSON。

  • parsefields-用於解析類似JSON日誌的工具,以收集唯一的欄位和事件。

  • pipeline -具有扇入和扇出的管線的實現。

  • ptrie-字首樹的實現。

  • remember-go -快取慢速資料庫查詢的通用介面(由redis,memcached,ristretto或記憶體支援)。

  • ring -圍棋實現了高效能,執行緒安全的布隆過濾器。

  • roaring -實施壓縮位集的軟體包。

  • set -使用LinkedHashMap的圍棋設定簡單的資料結構實現。

  • skiplist-非常快地執行Skiplist。

  • skiplist -Go中的跳過列表實現。

  • timedmap-具有過期的鍵/值對的地圖。

  • treap-使用樹堆的持久,快速排序的地圖。

  • trie -Go中的Trie實現。

  • ttlcache-記憶體中的LRU字串介面{}對映,其中包含golang的到期時間。

  • typ-空型別,安全的原始型別轉換和從複雜結構中獲取值。

  • willf / bloom-實施Bloom過濾器的Go軟體包。

資料庫

在Go中實現的資料庫。

  • badger -Go中的快速鍵值儲存。

  • bbolt -Go的嵌入式鍵/值資料庫。

  • bcache-最終一致的分散式記憶體快取Go庫。

  • BigCache-高效的鍵/值快取,用於千兆位元組的資料。

  • Bitcask -Bitcask是使用純Go編寫的可嵌入,持久且快速的鍵值(KV)資料庫,由於具有bitcask磁碟佈局(LSM + WAL),因此具有可預測的讀/寫效能,低延遲和高吞吐量。

  • buntdb-快速,可嵌入的記憶體中鍵/值資料庫,用於Go,具有自定義索引和空間支援。

  • cache -記憶體中鍵:具有到期時間,0個依存關係,100%覆蓋率的值儲存。

  • cache2go-記憶體鍵:值快取,支援基於超時的自動失效。

  • clusteredBigCache-具有叢集支援和單個項到期的BigCache。

  • cockroach -可擴充套件,地理複製,事務性資料儲存。

  • coffer -支援事務的簡單ACID鍵值資料庫。

  • couchcache-由Couchbase伺服器支援的RESTful快取微服務。

  • CovenantSQL -CovenantSQL是區塊鏈上的SQL資料庫。

  • Databunker-建立符合GDPR和CCPA的個人身份資訊(PII)儲存服務。

  • dgraph-可擴充套件,分散式,低延遲,高吞吐量圖形資料庫。

  • diskv-本地支援的磁碟鍵值儲存。

  • eliasdb-具有REST API,短語搜尋和類似SQL的查詢語言的無依賴關係的事務圖資料庫。

  • fastcache-快速執行緒安全的記憶體快取記憶體,用於大量條目。最大限度地減少GC開銷。

  • GCache-快取庫,支援過期的快取,LFU,LRU和ARC。

  • go-cache -Go的記憶體中鍵:值儲存/快取(類似於Memcached)庫,適用於單機應用程式。

  • goleveldb - Go中LevelDB鍵/值資料庫的實現。

  • gorocksdb -Gorocksdb是用Go編寫的RocksDB的包裝。

  • gostore -Gostore是用Go語言編寫的一種簡單,持久的嵌入式鍵值儲存引擎。

  • groupcache -Groupcache是一個快取和快取填充庫,在許多情況下可以替代memcached。

  • influxdb-可擴充套件的資料儲存區,用於指標,事件和實時分析。

  • Kivik -Kivik為CouchDB,PouchDB和類似資料庫提供了通用的Go和GopherJS客戶端庫。

  • ledisdb -Ledisdb是基於LevelDB的高效能NoSQL,如Redis。

  • levigo -Levigo是LevelDB的Go包裝器。

  • moss -Moss是用100%Go編寫的簡單LSM鍵值儲存引擎。

  • nutsdb -Nutsdb是用純Go編寫的簡單,快速,可嵌入,永續性鍵/值儲存。它支援完全可序列化的事務和許多資料結構,例如列表,集合,排序集合。

  • piladb-基於堆疊資料結構的輕量級RESTful資料庫引擎。

  • prometheus-監視系統和時間序列資料庫。

  • pudge-使用Go的標準庫編寫的快速簡單的鍵/值儲存。

  • rqlite-基於SQLite構建的輕型,分散式,關聯式資料庫。

  • golang-scribble -小型平面檔案JSON儲存。

  • slowpoke-具有永續性的鍵值儲存。

  • tempdb-臨時專案的鍵值儲存。

  • tidb -TiDB是分散式SQL資料庫。受到Google F1設計的啟發。

  • tieot-由Golang提供支援的NoSQL資料庫。

  • tracedb-用於IoT,實時訊息傳遞應用程式的快速時間序列資料庫。使用github.com/unit-io/trace應用程式通過tcp或websocket通過pubsub訪問tracedb。

  • Vasto-分散式高效能鍵值儲存。在磁碟上。最終一致。哈。能夠增長或收縮而不會中斷服務。

  • VictoriaMetrics-快速,資源有效且可擴充套件的開源時間序列資料庫。可用作Prometheus的長期遠端儲存。支援PromQL。

資料庫架構遷移。

  • avro-發現SQL模式並將其轉換為AVRO模式。將SQL記錄查詢為AVRO位元組。

  • darwin -Go的資料庫架構演化庫。

  • go-fixtures-用於Golang出色的內建資料庫/ sql庫的Django樣式的夾具。

  • go-pg-migrations-一個Go軟體包,可幫助使用go-pg / pg編寫遷移。

  • gondolier -使用結構修飾符的資料庫遷移庫。

  • goose-資料庫遷移工具。您可以通過建立增量SQL或Go指令碼來管理資料庫的演變。

  • gormigrate -Gorm ORM的資料庫架構遷移幫助器。

  • migrate -資料庫遷移。CLI和Golang庫。

  • migrator-簡單的Go資料庫遷移庫。

  • pravasan-簡單遷移工具-當前用於MySQL,但計劃很快支援Postgres,SQLite,MongoDB等。

  • schema-用於在Go二進位制檔案中嵌入資料庫/ sql相容資料庫的模式遷移的庫。

  • skeema -MySQL的純SQL模式管理系統,支援分片和外部線上模式更改工具。

  • soda -用於MySQL,PostgreSQL和SQLite的資料庫遷移,建立,ORM等。

  • sql-migrate-資料庫遷移工具。允許使用go-bindata將遷移嵌入到應用程式中。

資料庫工具。

  • bucket -為Couchbase優化資料結構框架,專門在一個水桶使用。

  • chproxy -ClickHouse資料庫的HTTP代理。

  • clickhouse-bulk-收集小的廣告素材並將大的請求傳送到ClickHouse伺服器。

  • datagen多表並支援多行DML的快速資料生成器。

  • dbbench-資料庫基準測試工具,支援多個資料庫和指令碼。

  • go-mysql -Go工具集,用於處理MySQL協議和複製。

  • go-mysql- elasticsearch-自動將您的MySQL資料同步到Elasticsearch中。

  • kingshard -kingshard是由Golang支援的MySQL的高效能代理。

  • myreplication -MySql二進位制日誌複製偵聽器。支援基於語句和行的複製。

  • octillery-用於分片資料庫的Go包(支援每個ORM或原始SQL)。

  • orchestrator器-MySQL複製拓撲管理器和視覺化器。

  • pgweb-基於Web的PostgreSQL資料庫瀏覽器。

  • prep -使用準備好的SQL語句而不更改程式碼。

  • perst-從任何PostgreSQL資料庫提供RESTful API。

  • rwdb -rwdb為多個資料庫伺服器設定提供只讀副本功能。

  • vitess -vitess提供了伺服器和工具,這些工具和工具有助於為大型Web服務擴充套件MySQL資料庫。

SQL查詢構建器,用於構建和使用SQL的庫。

  • dbq -Go的零樣板資料庫操作。

  • Dotsql -Go庫,可幫助您將sql檔案儲存在一個位置並輕鬆使用它們。

  • gendry-非侵入性SQL構建器和強大的資料繫結器。

  • godbal - go的資料庫抽象層(dbal)。支援SQL Builder,輕鬆獲得結果。

  • goqu SQL構建器和查詢庫。

  • igor -PostgreSQL的抽象層,支援高階功能並使用類似於gorm的語法。

  • jet -框架寫在Go型別安全的SQL查詢,有能力輕鬆地轉換資料庫查詢結果到期望的任意物件結構。

  • mpath-用於SQL記錄的MPTT(修改的預排序樹遍歷)包-物化路徑的實現。

  • ormlite-輕量級軟體包,包含一些類似於ORM的功能和sqlite資料庫的幫助程式。

  • ozzo-dbx-強大的資料檢索方法以及與資料庫無關的查詢構建功能。

  • qry-使用原始SQL查詢從檔案生成常量的工具。

  • sqlf-快速的SQL查詢生成器。

  • sqrl -SQL查詢生成器,Squirrel的分支,具有改進的效能。

  • Squalus -Go SQL包上的薄層,使執行查詢更加容易。

  • Squirrel -Go庫,可幫助您構建SQL查詢。

  • xo-根據現有的架構定義或支援PostgreSQL,MySQL,SQLite,Oracle和Microsoft SQL Server的自定義查詢為資料庫生成慣用的Go程式碼。

資料庫驅動程式

用於連線和運算元據庫的庫。

  • 關聯式資料庫

    • avatica-用於資料庫/ sql的Apache Avatica / Phoenix SQL驅動程式。

    • bgc -BigQuery for go的資料儲存連線。

    • firebirdsql -Go的Firebird RDBMS SQL驅動程式。

    • go-adodb-用於使用資料庫/ sql的go的Microsoft ActiveX物件資料庫驅動程式。

    • go-mssqldb -Go的Microsoft MSSQL驅動程式。

    • go-oci8-使用資料庫/ sql的go的Oracle驅動程式。

    • go-sql-driver / mysql -Go的MySQL驅動程式

    • go-sqlite3-使用資料庫/ sql的go的SQLite3驅動程式。

    • gofreetds -Microsoft MSSQL驅動程式。在FreeTDS上進行包裝。

    • goracle -Go的Oracle驅動程式,使用ODPI-C驅動程式。

    • pgx -PostgreSQL驅動程式支援的功能超出了資料庫/ sql所公開的功能。

    • pq-用於資料庫/ sql的Pure Go Postgres驅動程式。

  • NoSQL資料庫

    • aerospike-client-go -Go語言的Aerospike客戶端。

    • arangolite-用於ArangoDB的輕量級golang驅動程式。

    • ASC -資料儲存連通性的塞式走。

    • dynago -Dynago是DynamoDB的最少驚喜客戶端的原則。

    • forestdb繫結。

    • go-couchbase -Go中的Couchbase客戶端。

    • go-pilosa-Pilosa的 Go客戶端庫。

    • go-rejson-使用Redigo golang客戶端的Redislabs ReJSON模組的Golang客戶端。輕鬆將結構作為JSON物件儲存和操作在Redis中。

    • gocb-官方Couchbase Go SDK。

    • gocql -Apache Cassandra的Go語言驅動程式。

    • godis-受jedis啟發,由golang編寫的redis客戶端工具。

    • godscache -Google Cloud Platform Go資料儲存區程式包的包裝,可使用memcached新增快取。

    • gomemcache -Go程式語言的memcache客戶端庫。

    • gorethink-用於RethinkDB的Go語言驅動程式。

    • goriak -Riak KV的Go語言驅動程式。

    • mgm -Go的基於MongoDB模型的ODM(基於官方的MongoDB驅動程式)。

    • mgo-(無需維護)用於Go語言的MongoDB驅動程式,該驅動程式遵循標準的Go習慣用法,通過非常簡單的API來實現豐富且經過測試的功能選擇。

    • mongo-go-driver -Go語言的官方MongoDB驅動程式。

    • neo4j-用於Golang的Neo4j Rest API繫結。

    • Neo4j-GO -golang中的Neo4j REST客戶端。

    • neoism - Golang的 Neo4j客戶。

    • redeo-與Redis協議相容的TCP伺服器/服務。

    • redigo -Redigo是Redis資料庫的Go客戶端。

    • redis -Golang的Redis客戶端

    • xredis,可自定義,乾淨且易於使用的Redis客戶端。

  • 搜尋和分析資料庫。

    • bleve -go的現代文字索引庫。

    • elastic -Go的Elasticsearch客戶端

    • elasticsql -轉換SQL到elasticsearch DSL圍棋。

    • elastigo -Elasticsearch客戶端庫。

    • go-elasticsearch -Go的官方Elasticsearch客戶。

    • goes -與Elasticsearch進行互動的庫。

    • riot-開源,分散式,簡單高效的搜尋引擎。

    • Skizze-概率資料結構服務和儲存。

  • 多個後端。

    • cachego-用於多個驅動程式的Golang快取元件。

    • cayley-支援多個後端的Graph資料庫。

    • dsc -SQL,NoSQL,結構化檔案的資料儲存連線。

    • gokv -Go的簡單鍵值儲存抽象和實現(Redis,Consul,etcd,bbolt,BadgerDB,LevelDB,Memcached,DynamoDB,S3,PostgreSQL,MongoDB,CockroachDB等)。

日期和時間

用於處理日期和時間的庫。

  • carbon -簡單的時間延長了很多UTIL方法,從PHP碳庫移植。

  • cronrange-解析Cron風格的時間範圍表示式,檢查給定時間是否在任何範圍內。

  • date -Augments用於處理日期,日期範圍,時間跨度,期間和日期的時間。

  • dateparse-在不知道格式的情況下解析日期。

  • durafmt -Go的持續時間格式庫。

  • feiertage-計算德國公共假期的功能集,包括 德國(Bundesländer)州的專業。復活節,五旬節,感恩節等

  • go-persian-calendar -Go(golang)中波斯(Solar Hijri)日曆的實現。

  • go-str2duration-將字串轉換為持續時間。支援時間。持續時間返回了字串等。

  • go-sunrise -計算給定位置的日出和日落時間。

  • go-week -使用ISO8601週日期的有效軟體包。

  • iso8601-無需正規表示式即可有效解析ISO8601日期時間

  • kair-日期和時間-Golang格式庫。

  • now -現在是golang的時間工具包。

  • NullTime -Nullable time.Time

  • strftime-與C99相容的strftime格式化程式。

  • timespan -用於與時間間隔互動,定義為開始時間和持續時間。

  • timeutil -golang時間包的有用擴充套件(Timedelta,Strftime等)。

  • tuesday -相容Ruby的Strftime函式。

分散式系統

有助於構建分散式系統的軟體包。

  • celeriac-用於新增支援以互動和監視Go中的Celery工作者,任務和事件的庫。

  • consistent -具有受限負載的一致雜湊。

  • dht -BitTorrent Kademlia DHT實施。

  • digota -grpc電子商務微服務。

  • dot -使用操作轉換/ OT進行分散式同步。

  • doublejump-改進後的Google的跳轉一致性雜湊。

  • dragonboat功能齊全的高效能多組Raft庫。

  • drmaa-基於DRMAA標準的叢集排程程式的作業提交庫。

  • dynamolock -DynamoDB支援的分散式鎖定實現。

  • dynatomic-將DynamoDB用作原子計數器的庫。

  • itter-io-使用MQTT,Websockets和love構建的高效能,分散式,安全和低延遲的釋出-訂閱平臺。

  • flowgraph-基於流的程式設計包。

  • gleam -用純圍棋和Luajit快速和可擴充套件的分散式的map / reduce系統,具有Luajit的高效能結合Go的高併發,單獨執行或分發。

  • glow-易於使用的可擴充套件的分散式大資料處理,Map-Reduce,DAG執行,全部以純Go進行。

  • go- health-用於在服務中啟用非同步依賴項執行狀況檢查的庫。

  • go-jump -Google的“ Jump”一致雜湊函式的埠。

  • Go- kit-支援服務發現,負載平衡,可插拔傳輸,請求跟蹤等的微服務工具包

  • go-pdu-一個基於身份的去中心化社交網路。

  • go-sundheit-建立用於支援定義golang服務的非同步服務執行狀況檢查的庫。

  • gorpc-簡單,快速和可擴充套件的RPC庫,可實現高負載。

  • grpc-go - gRPC的Go語言實現。基於HTTP / 2的RPC。

  • hprose-極新的RPC庫,現在支援25種以上的語言。

  • jsonrpc -jsonrpc軟體包可幫助實現JSON-RPC 2.0。

  • jsonrpc -JSON-RPC 2.0 HTTP客戶端實現。

  • KrakenD-具有中介軟體的超高效能API閘道器框架。

  • liftbridge -NATS的輕量級,容錯訊息流。

  • micro -可插拔的microService工具箱和分散式系統平臺。

  • NATS-用於微服務,物聯網和雲本機系統的輕量級高效能訊息傳遞系統。

  • outboxer -outboxer是一個執行庫,用於實現outbox模式。

  • pglock -PostgreSQL支援的分散式鎖定實現。

  • raft -HashiCorp的Raft共識協議的Golang實現。

  • raft -圍棋實施筏一致協議,由CoreOS的。

  • BitTorrent -BitTorrent客戶端和庫。

  • redis-lock-使用Redis的簡化分散式鎖定實現。

  • resgate-用於構建REST,實時和RPC API的實時API閘道器,其中所有客戶端都可以無縫同步。

  • ringpop-go -Go應用程式的可擴充套件,容錯應用程式層分片。

  • rpcx-分散式可插入RPC服務框架,例如阿里巴巴Dubbo。

  • sleuth-用於在HTTP服務之間進行無主p2p自動發現和RPC的庫(使用ZeroMQ)。

  • bidmint-高效能中介軟體,用於使用Tendermint共識和區塊鏈協議將以任何程式語言編寫的狀態機轉換為拜占庭容錯複製狀態機。

  • torrent -BitTorrent客戶端軟體包。

動態DNS

用於更新動態DNS記錄的工具。

  • DDNS-以Digital Ocean Networking DNS作為後端的個人DDNS客戶端。

  • dyndns -Background Go流程可定期自動檢查您的IP地址,並在您的地址發生更改時更新(一個或多個)Google域的動態DNS記錄。

  • GoDNS-動態DNS客戶端工具,支援用Go編寫的DNSPod和HE.net。

電子郵件

實現電子郵件建立和傳送的庫和工具。

  • chasquid-用Go編寫的SMTP伺服器。

  • douceur - CSS內襯為您的HTML電子郵件。

  • email-用於Go的強大而靈活的電子郵件庫。

  • go-dkim -DKIM庫,用於簽名和驗證電子郵件。

  • go-imap-用於客戶端和伺服器的IMAP庫。

  • go-message -Internet郵件格式和郵件的流媒體庫。

  • go-premailer -Go中HTML郵件的內聯樣式。

  • go-simple-mail-非常簡單的程式包,用於使用SMTP保持活動狀態傳送電子郵件和兩個超時:連線和傳送。

  • Hectane-提供HTTP API的輕型SMTP客戶端。

  • hermes -Golang軟體包,可生成乾淨的響應式HTML電子郵件。

  • mailchain-將加密的電子郵件傳送到用Go編寫的區塊鏈地址。

  • mailgun-go -Go庫,用於使用Mailgun API傳送郵件。

  • MailHog-帶有Web和API介面的電子郵件和SMTP測試。

  • SendGrid -SendGrid的Go庫,用於傳送電子郵件。

  • smtp -SMTP伺服器協議狀態機。

嵌入式指令碼語言

在您的go程式碼中嵌入其他語言。

  • anko-用Go語言編寫的可編寫指令碼的直譯器。

  • binder -轉到基於gopher-lua的 Lua繫結庫。

  • cel-go-具有漸進式輸入功能的快速,行動式,非圖靈完整表示式評估。

  • expr-可以評估表示式的引擎。

  • gentee-可嵌入的指令碼程式語言。

  • gisp -Go中的簡單LISP。

  • go-duktape -Go的Duktape JavaScript引擎繫結。

  • go-lua -Lua 5.2 VM到純Go的埠。

  • go-php -Go的PHP繫結。

  • go-python-與CPython C-API的天真go繫結。

  • golua -Lua C API的繫結。

  • gopher-lua-用Go編寫的Lua 5.1 VM和編譯器。

  • gval-用Go編寫的高度可定製的表達語言。

  • ngaro-可嵌入的Ngaro VM實現,支援在Retro中編寫指令碼。

  • otto-用Go編寫的JavaScript直譯器。

  • purl -Go中嵌入的Perl 5.18.2。

  • tengo-用於Go的位元組碼編譯指令碼語言。

錯誤處理

用於處理錯誤的庫。

  • emperror -Go庫和應用程式的錯誤處理工具和最佳實踐。

  • eris -Go中處理,跟蹤和記錄錯誤的更好方法。與標準錯誤庫和github.com/pkg/errors相容。

  • errlog-可破解的軟體包,用於確定錯誤的負責任的原始碼(以及其他一些快速除錯功能)。可就地插入任何記錄器。

  • errors -下拉更換為標準庫的錯誤包和github.com/pkg/errors。提供各種錯誤處理原語。

  • errors-提供簡單錯誤處理原語的軟體包。

  • neuronlabs/errors -簡單golang錯誤處理與分類元。

  • errors-最簡單的錯誤包裝器,具有出色的效能和最小的記憶體開銷。

  • errorx-具有堆疊跟蹤,錯誤組成等的功能豐富的錯誤包。

  • Falcon-一個簡單但功能強大的錯誤處理軟體包。

  • go-multierror -Go(golang)軟體包,用於將錯誤列表表示為單個錯誤。

  • tracerr-帶有堆疊跟蹤和原始碼片段的Golang錯誤。

  • werr-錯誤包裝器為Go中的錯誤型別建立了一個包裝器,該包裝器捕獲了被呼叫位置的檔案,行和堆疊。

檔案

用於處理檔案和檔案系統的庫。

  • afero -Go的檔案系統抽象系統。

  • afs -Go的抽象檔案儲存(mem,scp,zip,tar,雲:s3,gs)。

  • bigfile-檔案傳輸系統,支援使用http api,rpc呼叫和ftp客戶端管理檔案。

  • checksum -計算大型檔案的訊息摘要,例如MD5和SHA256。

  • copy -遞迴複製目錄。

  • flop-檔案操作庫,旨在與GNU cp映象功能奇偶校驗。

  • go-csv- tag-使用標籤載入csv檔案。

  • go-decent-copy-複製人類檔案。

  • go-exiftool -ExifTool的Go繫結,這是眾所周知的庫,用於從檔案(圖片,PDF,office,…)中提取儘可能多的後設資料(EXIF,IPTC等)。

  • go-gtfs-在go中載入gtfs檔案。

  • gut / yos-簡單可靠的檔案操作包,例如檔案,目錄和符號連結上的複製/移動/差異/列表。

  • notify-具有簡單API的檔案系統事件通知庫,類似於os / signal。

  • opc-載入Go的開放包裝約定(OPC)檔案。

  • parquet -讀取和寫入實木複合地板檔案。

  • pdfcpu -PDF處理器。

  • skywalker-一種軟體包,允許一個人輕鬆地同時通過檔案系統。

  • stl-讀取和寫入STL(立體光刻)檔案的模組。併發讀取演算法。

  • tarfs - tar檔案FileSystem介面的實現。

  • vfs -Go的一組可插拔,可擴充套件且自覺的檔案系統功能,可跨多種檔案系統型別(例如os,S3和GCS)使用。

金融

會計和財務軟體包。

  • accounting -golang的貨幣和貨幣格式。

  • currency -高效能和準確的貨幣計算包。

  • decimal -任意精度定點十進位制數字。

  • go-finance -Go中的綜合金融市場資料。

  • go- finance-貨幣時間價值(年金),現金流量,利率轉換,債券和折舊計算的財務函式庫。

  • go-finance-獲取匯率,通過VIES檢查增值稅號和檢查IBAN銀行帳號的模組。

  • go-finnhub-來自finnhub.io的股票,外匯和加密資料客戶端。訪問來自60多個證券交易所,10個外匯經紀人和15多個加密交易所的實時金融市場資料。

  • go-money -Fowler的Money模式的實現。

  • ofxgo-查詢OFX伺服器和/或解析響應(使用示例命令列客戶端)。

  • 手持訂單 -匹配引擎的限價訂單在Golang。

  • techan-具有高階市場分析和交易策略的技術分析庫。

  • transaction-在多執行緒模式下執行的嵌入式帳戶事務資料庫。

  • vat -增值稅號驗證和歐盟增值稅率。

形式

用於處理表單的庫。

  • robfig/bind -繫結表單資料到任何圍棋值。

  • mholt/binding -將net / http請求中的表單和JSON資料繫結到結構。

  • conform -檢查使用者輸入。根據struct標籤對資料進行整理,清理和清理。

  • form -將url.Values解碼為Go值,並將Go值編碼為url.Values。雙陣列和全圖支援。

  • formam-將表單的值解碼為結構。

  • forms -與框架無關的庫,用於解析和驗證支援多部分表單和檔案的表單/ JSON資料。

  • gorilla / csrf -Go Web應用程式和服務的CSRF保護。

  • nosurf -Go的CSRF保護中介軟體。

  • queryparam-解碼url.Values為標準或自定義型別的可用結構值。

功能性

支援Go中功能程式設計的軟體包。

  • fpGo -Monad,用於Golang的功能程式設計功能。

  • fuego -Go中的功能實驗。

  • go-underscore-有用的Go收集實用程式的有用集合。

遊戲開發

很棒的遊戲開發庫。

  • Azul3D-用Go語言編寫的3D遊戲引擎。

  • Ebiten -Go中死的簡單2D遊戲庫。

  • engo -Engo是用Go語言編寫的開源2D遊戲引擎。它遵循實體元件系統正規化。

  • g3n -Go 3D遊戲引擎。

  • GarageEngine-用Go語言編寫的2D遊戲引擎,可在OpenGL上使用。

  • glop -Glop(權力遊戲庫)是一個相當簡單的跨平臺遊戲庫。

  • go-astar -A *路徑查詢演算法的Go實現。

  • go-collada-用於Collada檔案格式的Go軟體包。

  • go-sdl2- 簡單DirectMedia層的 Go繫結。

  • go3d-用於Go的面向效能的2D / 3D數學軟體包。

  • gonet-使用golang實現的遊戲伺服器框架。

  • goworld-可擴充套件的遊戲伺服器引擎,具有空間實體框架和熱插拔功能。

  • Leaf-輕量級遊戲伺服器框架。

  • nano -重量輕,裝置,高效能的基於golang遊戲伺服器架構。

  • Oak -Pure Go遊戲引擎。

  • Pitaya-可擴充套件的遊戲伺服器框架,具有群集支援以及通過C SDK的iOS,Android,Unity等客戶端庫。

  • pixel -Go中的手工製作2D遊戲庫。

  • raylib-go - raylib的 Go繫結,raylib是一個簡單易用的庫,用於學習視訊遊戲程式設計。

  • termloop-基於Termbox的Go終端遊戲引擎。

代與泛型

通過程式碼生成通過泛型等功能增強語言的工具。

  • efaceconv-程式碼生成工具,用於從介面{}到不分配的不可變型別的高效能轉換。

  • gen-用於類似“泛型”功能的程式碼生成工具。

  • Generis-程式碼生成工具,提供泛型,自由格式的巨集,條件編譯和HTML模板。

  • go- enum-從程式碼註釋生成列舉的程式碼。

  • go-linq-用於Go的.NET LINQ式查詢方法。

  • go-xray-簡化反射使用的助手。

  • goderive-從輸入型別派生函式。

  • gotype -Golang原始碼解析,用法類似於反射包。

  • GoWrap-使用簡單的模板為Go介面生成裝飾器。

  • interfaces-用於生成介面定義的命令列工具。

  • jennifer-生成沒有模板的任意Go程式碼。

  • pkgreflect-用於包範圍反射的前處理器。

  • typeregistry-一個動態建立型別的庫。

地域

地理工具和伺服器

  • geocache-記憶體中快取,適用於基於地理位置的應用程式。

  • geoserver -geoserver是Go軟體包,用於通過GeoServer REST API操縱GeoServer例項。

  • gismanager-將 GIS資料(向量資料)釋出到PostGIS和Geoserver。

  • mbtileserver-一種簡單的基於Go的伺服器,用於以mbtiles格式儲存地圖圖塊。

  • osm-用於讀取,編寫和使用OpenStreetMap資料和API的庫。

  • pbf -OpenStreetMap PBF golang編碼器/解碼器。

  • S2geo -Go中的S2幾何庫。

  • Tile38-具有空間索引和實時地理圍欄的地理位置資料庫。

  • WGS84 -庫座標轉換和變換(ETRS89,OSGB36,NAD83,RGF93,網路墨卡託UTM)。

編譯器

編譯工具轉到其他語言。

  • c4go-將C程式碼轉換為Go程式碼。

  • f4go-將FORTRAN 77程式碼轉換為Go程式碼。

  • gopherjs-從Go到JavaScript的編譯器。

  • llgo -Go的基於LLVM的編譯器。

  • tardisgo -Golang轉換為CPP / CSharp / Java / JavaScript轉譯器。

Goroutines

用於管理和使用Goroutines的工具。

  • ants -Go中的高效能和低成本goroutine池。

  • artifex -Golang使用基於工作程式的分派的簡單記憶體中作業佇列。

  • async -一種非同步執行功能的安全方法,以防萬一。

  • breaker -靈活的機制,使執行流程可中斷。

  • conexec-一個併發工具包,可幫助以高效,安全的方式併發執行func,它支援指定整體超時以避免阻塞,並使用goroutine池來提高效率。

  • cyclicbarrier-用於golang的CyclicBarrier。

  • go- floc-輕鬆編排goroutine。

  • go- flow-控制goroutine的執行順序。

  • go-tools / multithreading-使用帶有簡單API的輕量級庫管理goroutine池。

  • go-trylock-支援Golang的讀寫鎖的TryLock。

  • go-waitgroup-sync.WaitGroup與錯誤處理和併發控制類似。

  • gohive -Go的高效能和易於使用的Goroutine池。

  • gollback-非同步簡單函式實用程式,用於管理閉包和回撥的執行。

  • GoSlaves-簡單和非同步Goroutine池庫。

  • goworker -goworker是基於Go的後臺工作者。

  • gowp -gowp是併發限制goroutine池。

  • gpool-管理可調整大小的上下文感知goroutine池以繫結併發。

  • grpool-輕巧的Goroutine池。

  • Hunch -預感提供功能,如:AllFirstRetryWaterfall等等,這使得非同步流控制更加直觀。

  • kyoo-提供無限的作業佇列和併發工作池。

  • oversight -監督是Erlang監督樹的完整實現。

  • parallel -fn執行功能。

  • pool -有限的消費者goroutine池或無限的goroutine池,以便更輕鬆地處理和取消goroutine。

  • queue -為您提供sync.WaitGroup類似的佇列組可訪問性。幫助您限制和限制goroutine,等待所有goroutine結束等等。

  • routine -具有上下文和支援的例程控制:Main,Go,Pool和一些有用的Executors。

  • semaphore -基於通道和上下文的具有鎖定/解鎖操作超時的訊號量模式實現。

  • marusama/semaphore -基於CAS的快速可調整大小的訊號量實現(比基於通道的訊號量實現更快)。

  • stl-基於軟體交易記憶體(STM)併發控制機制的軟體交易鎖。

  • threadpool -Golang執行緒池實現。

  • tunny -夠程池golang。

  • worker-pool -goworker是一個簡單的Go非同步工作池。

  • workerpool -Goroutine池,它限制任務執行的併發性,而不是排隊的任務數。

圖形使用者介面

用於構建GUI應用程式的庫。

工具包

  • app-打包以使用GO,HTML和CSS建立應用的程式。支援:MacOS,Windows正在開發中。

  • fyne-基於Material Design為Go設計的跨平臺本機GUI。支援:Linux,macOS,Windows,BSD,iOS和Android。

  • go-astilectron-使用GO和HTML / JS / CSS(由Electron支援)構建跨平臺GUI應用。

  • go-gtk -GTK的繫結。

  • go-sciter-Sciter的 Go繫結:用於現代桌面UI開發的可嵌入HTML / CSS / script引擎。跨平臺。

  • gotk3 -GTK3的繫結。

  • gowd-使用GO,HTML,CSS和NW.js進行快速,簡單的桌面UI開發。跨平臺。

  • qt -Go的Qt繫結(支援Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。

  • ui -Go的平臺本地GUI庫。跨平臺。

  • wails -使用內建OS HTML渲染器的HTML UI的Mac,Windows,Linux桌面應用程式。

  • walk -Go的Windows應用程式庫工具包。

  • webview-具有簡單雙向JavaScript繫結的跨平臺Webview視窗(Windows / macOS / Linux)。

相互作用

  • go-appindicator -libappindicator3 C庫的Go繫結。

  • gosx-notifier -Go的OSX桌面通知庫。

  • mac-activity-tracker -OSX庫,用於通知計算機上的任何(可插入)活動。

  • mac-sleep-notifier -golang中的OSX睡眠/喚醒通知。

  • robotgo -Go本機跨平臺GUI系統自動化。控制滑鼠,鍵盤等。

  • systray-跨平臺執行庫,用於在通知區域中放置圖示和選單。

  • trayhost-跨平臺的Go庫,用於在主機作業系統的工作列中放置一個圖示。

硬體

與硬體互動的庫,工具和教程。

有關完整列表,請參見硬體

圖片

用於處理影象的庫。

  • bild-純Go中影象處理演算法的集合。

  • bimg-使用libvips進行快速有效影象處理的小包裝。

  • cameron -Go的頭像生成器。

  • canvas-將向量圖形轉換為PDF,SVG或光柵影象。

  • darkroom -具有可變儲存後端的影象代理和側重於速度和彈性的影象處理引擎。

  • geopattern-從字串建立漂亮的生成影象圖案。

  • gg-純Go中的2D渲染。

  • gift-影象處理過濾器的包裝。

  • gltf-高效,強大的glTF 2.0讀取器,寫入器和驗證器。

  • go-cairo-用於cairo圖形庫的繫結。

  • go-gd -GD庫的繫結。

  • go- nude-使用Go進行裸體檢測。

  • go-opencv-用於OpenCV的繫結。

  • go-webcolors -webcolors庫的埠,從Python到Go。

  • gocv-使用OpenCV 3.3+進行計算機視覺的Go軟體包。

  • goimagehash -Go感知影象雜湊包。

  • goimghdr -imghdr模組確定Go檔案中包含的影象型別。

  • govatar-用於生成有趣頭像的庫和CMD工具。

  • image2ascii-將影象轉換為ASCII。

  • imagick-繫結到ImageMagick的MagickWand C API。

  • imaginary -用於影象大小調整的快速,簡單的HTTP微服務。

  • imaging -簡單的Go影象處理包。

  • img-選擇影象處理工具。

  • ln -Go中的3D線條藝術渲染。

  • mergi-用於影象處理(合併,裁切,調整大小,水印,動畫)的Tool&Go庫。

  • mort-用Go編寫的儲存和影象處理伺服器。

  • mpo-用於MPO 3D照片的解碼器和轉換工具。

  • picfit-用Go編寫的影象大小調整伺服器。

  • pt-用Go語言編寫的路徑跟蹤引擎。

  • resize -使用常見的插值方法為Go 調整影象大小。

  • rez-在純Go和SIMD中調整影象大小。

  • smartcrop-查詢適合任意影象和尺寸的優質作物。

  • steganography -用於LSB隱寫術的Pure Go庫。

  • stegify-用於LSB隱寫術的Go工具,能夠隱藏影象中的任何檔案。

  • svgo-用於SVG生成的Go語言庫。

  • tga-軟體包tga是TARGA影象格式的解碼器/編碼器。

物聯網

物聯網裝置程式設計庫。

  • connectordb-量化自我和物聯網的開源平臺。

  • devices -物聯網裝置庫套件,針對x / exp / io進行實驗。

  • eywa -Project Eywa本質上是一個連線管理器,用於跟蹤連線的裝置。

  • flogo -Project Flogo是一個用於IoT Edge應用和整合的開源框架。

  • GATT -蓋特是一個圍棋包構建低功耗藍芽外設。

  • gobot -Gobot是機器人技術,物理計算和物聯網的框架。

  • huego-適用於Go的廣泛的Philips Hue客戶端庫。

  • iot -物聯網是實現物聯網谷歌核心裝置的簡單框架。

  • mainflux-工業物聯網訊息和裝置管理伺服器。

  • PERIPH -外設I / O與低階別的主機板裝置介面。

  • sensorbee-用於物聯網的輕量級流處理引擎。

工作計劃

用於計劃作業的庫。

  • clockwerk-使用簡單,流利的語法打包程式以安排定期作業。

  • Clockwork -Go中簡單直觀的工作計劃庫。

  • go- cron-用於go的簡單Cron庫,可以在不同的時間間隔執行閉包或函式,從每秒一次到每年一次在特定日期和時間。主要用於Web應用程式和長期執行的守護程式。

  • gron-使用簡單的Go API定義基於時間的任務,Gron的排程程式將相應地執行它們。

  • JobRunner-內建功能,工作佇列和實時監控的智慧功能強大的cron作業計劃程式。

  • jobs -持久靈活的後臺作業庫。

  • leprechaun -作業排程,支援網路掛接,crons和經典的排程。

  • scheduler -Cronjobs排程變得容易。

JSON格式

用於JSON的庫。

  • ajson-具有JSONPath支援的golang的抽象JSON。

  • ej-簡潔地從不同來源寫入和讀取JSON。

  • gjo-用於建立JSON物件的小型實用程式。

  • GJSON-使用一行程式碼獲取JSON值。

  • go-jsonerror -Go-JsonError使我們能夠輕鬆建立遵循JsonApi規範的json響應錯誤。

  • go-respond -Go包,用於處理常見的HTTP JSON響應。

  • gojq - Golang中的 JSON查詢。

  • gojson-從示例JSON自動生成Go(golang)結構定義。

  • JayDiff-用Go編寫的JSON diff實用程式。

  • jettison-用於Go的高效能,無反射JSON編碼器。

  • JSON-to-Go-將JSON轉換為Go結構。

  • json2go-高階JSON到Go結構轉換。提供可以解析多個JSON文件並建立適合所有JSON的結構的包。

  • jsonapi-errors-根據JSON API錯誤參考進行繫結。

  • jsonf-突出顯示格式和獲取JSON的結構查詢的控制檯工具。

  • jsongo -Fluent API,可以更輕鬆地建立Json物件。

  • jsonhal-簡單的Go包,用於將自定義結構編組為HAL相容的JSON響應。

  • kazaam-用於JSON文件的任意轉換的API。

  • mapslice- json-使用MapSlice進行JSON中地圖的有序編組/解組。

  • mp-簡單的cli電子郵件解析器。當前,它使用標準輸入並輸出JSON。

記錄中

用於生成和使用日誌檔案的庫。

  • distillog級別的日誌記錄(將其視為stdlib +日誌級別)。

  • glg -glg是用於Go的簡單快速的日誌記錄庫。

  • GLO - PHP獨白靈感記錄裝置具有相同的嚴重性級別。

  • glog -Go的級別執行日誌。

  • go-cronowriter-簡單的作家,可以根據當前日期和時間自動旋轉日誌檔案,例如cronolog。

  • go-log-具有跟蹤跟蹤,物件轉儲和可選時間戳記的日誌記錄庫。

  • go-log-在Go中進行簡單且可配置的日誌記錄,包括級別,格式化程式和編寫器。

  • go-log-日誌庫支援級別和多處理程式。

  • go-log -Go中的Log4j實現。

  • go-logger -Go程式的簡單記錄器,帶有級別處理程式。

  • gologger-用於go的簡單易用的日誌庫,可在彩色控制檯,簡單控制檯,檔案或Elasticsearch中登入。

  • gomol -Go的多輸出,結構化日誌記錄,具有可擴充套件的日誌記錄輸出。

  • log -快速,可擴充套件,全功能,std-lib源相容的日誌庫。

  • journald-實現systemd Journal的本機API進行日誌記錄的實現。

  • aerogo/log -O(1)日誌記錄系統,允許您將一個日誌連線到多個寫入器(例如,stdout,檔案和TCP連線)。

  • log -Go的結構化日誌記錄包。

  • o-playground/log -簡單,可配置和可擴充套件的Go結構化日誌記錄。

  • log -Go的結構化日誌介面將日誌記錄外觀與其實現完全分開。

  • log- voyage-用golang編寫的全功能日誌記錄saas。

  • log15-簡單,強大的Go日誌記錄。

  • logdump-用於多級日誌記錄的軟體包。

  • logex -Golang日誌庫,支援跟蹤和級別,按標準日誌庫包裝。

  • logger -簡約日誌庫進行搜尋。

  • logmatic-具有動態日誌級別配置的Golang彩色記錄器。

  • logo -Golang記錄器可用於其他可配置的編寫器。

  • logrus -Go的結構化記錄器。

  • logrusiowriter - io.Writer使用實施logrus記錄。

  • logrusly - logrus外掛,用於將錯誤傳送到Loggly

  • logutils-實用程式,用於在Go(Golang)中更好地記錄日誌,以擴充套件標準記錄器。

  • logxi -12要素應用程式記錄器,執行速度快,讓您滿意。

  • lumberjack -簡單滾動記錄,實施io.WriteCloser。

  • mlog-用於go的簡單日誌記錄模組,具有5個級別,可選的旋轉日誌檔案功能和stdout / stderr輸出。

  • onelog -Onelog是一個簡單但高效的JSON記錄器。在所有情況下,它都是最快的JSON記錄器。而且,它是分配最低的記錄器之一。

  • ozzo-log-高效能日誌記錄,支援日誌嚴重性,分類和過濾。可以將過濾後的日誌訊息傳送到各種目標(例如,控制檯,網路,郵件)。

  • RollingWriter -RollingWriter是io.Writer具有多個策略的自動旋轉實現,可提供日誌檔案旋轉。

  • seelog-具有靈活的排程,過濾和格式化的日誌記錄功能。

  • spew-為Go資料結構實現深層漂亮的印表機,以幫助除錯。

  • stdlog -Stdlog是一個物件導向的庫,提供分級日誌記錄。這對於cron作業非常有用。

  • tail -Go程式包,旨在模仿BSD tail程式的功能。

  • xlog -Go的外掛架構和靈活的日誌系統,具有ctrl級,多個日誌目標和自定義日誌格式。

  • xlog-結構化的記錄器,可net/context通過靈活的排程來感知HTTP處理程式。

  • zap -Go中快速,結構化,分級的日誌記錄。

  • zerolog-零分配JSON記錄器。

機器學習

機器學習圖書館。

  • bayesian -Golang的樸素貝葉斯分類。

  • CloudForest-快速,靈活,多執行緒的決策樹集合,用於純Go中的機器學習。

  • eaopt-進化優化庫。

  • evoli-遺傳演算法和粒子群優化庫。

  • fonet-用Go編寫的深度神經網路庫。

  • go-cluster -k模式和k-原型聚類演算法的Go實現。

  • go-deep -Go中功能豐富的神經網路庫

  • go- fann-快速人工神經網路(FANN)庫的Go繫結。

  • go-galib-用Go / golang編寫的遺傳演算法庫。

  • go-pr -Go lang中的模式識別包。

  • gobrain-用go語言編寫的神經網路

  • Godist-各種概率分佈及相關方法。

  • goga -Go的遺傳演算法庫。

  • GoLearn-用於Go的通用機器學習庫。

  • golinear -Go的liblinear繫結。

  • GoMind -Go中的簡單神經網路庫。

  • goml -Go中的線上機器學習。

  • gonet -Go的神經網路。

  • Goptuna-用於Go語言編寫的黑盒函式的貝葉斯優化框架。一切都會被優化。

  • goRecommend-用Go編寫的推薦演算法庫。

  • gorgonia-基於圖形的計算庫,例如Theano for Go,它提供了用於構建各種機器學習和神經網路演算法的原語。

  • gorse-基於Go編寫的協作過濾的離線推薦系統後端。

  • goscore-用於PMML的Go Scoring API。

  • gosseract-使用Tesseract C ++庫的OCR(光學字元識別)軟體包。

  • LIBSVM -基於LIBSVM 3.14 libsvm的golang版本衍生作品。

  • neat -用於增強拓撲神經進化(NEAT)的即插即用,並行Go框架。

  • neuro- go-在Go中實現的多層感知器網路,通過反向傳播進行訓練。

  • ocrserver-一個簡單的OCR API伺服器,非常容易被Docker和Heroku部署。

  • onnx-go-轉到開放神經網路交換(ONNX)的介面。

  • probab-概率分佈函式。貝葉斯推斷。用純Go語言編寫。

  • randomforest-易於使用的隨機森林庫。

  • regommend-建議和協作過濾引擎。

  • shield-貝葉斯文字分類器,具有靈活的標記器和Go的儲存後端。

  • tfgo-易於使用的Tensorflow繫結:簡化了官方Tensorflow Go繫結的使用。在Go中定義計算圖,載入並執行經過Python訓練的模型。

  • Varis -Golang神經網路。

訊息傳遞

實現訊息傳遞系統的庫。

  • ami客戶端轉到基於Redis群集流的可靠佇列。

  • APNs2-用於Go的HTTP / 2 Apple Push Notification提供程式—將推送通知傳送到iOS,tvOS,Safari和OSX應用程式。

  • Beaver-實時訊息伺服器,用於構建可擴充套件的應用內通知,多人遊戲,Web和移動應用中的聊天應用。

  • Benthos-一系列協議之間的訊息流橋。

  • bus -用於內部通訊的極簡訊息匯流排實現。

  • Centrifugo -Go中的實時訊息傳遞(Websockets或SockJS)伺服器。

  • commander -一個高階事件驅動的消費者/生產者,支援各種“方言”,例如Apache Kafka。

  • dbus -D-Bus的本機Go繫結。

  • drone- line-使用二進位制檔案,docker或Drone CI 傳送通知。

  • emitter -使用Go方式發出事件,並使用萬用字元,謂詞,取消可能性和許多其他好成績。

  • event -模式觀察器的實現。

  • EventBus-具有非同步相容性的輕量級事件匯流排。

  • gaurun- client-用Go編寫的Gaurun客戶端。

  • glue -強大的圍棋和Javascript的Socket庫(替代Socket.io)。

  • go-notify -freedesktop通知規範的本地實現。

  • go-nsq-NSQ的官方Go軟體包。

  • go -socket.io-用於golang(實時應用程式框架)的socket.io庫。

  • go-vitotrol -Viessmann Vitotrol Web服務的客戶端庫。

  • Gollum-一個n:m多路複用器,可從不同來源收集訊息並將其廣播到一組目標。

  • golongpoll-使Web pub-sub變得簡單的HTTP longpoll伺服器庫。

  • gopush-cluster -gopush-cluster是go push伺服器群集。

  • gorush-使用APNs2和Google GCM的推送通知伺服器。

  • guble-使用推送通知(Google Firebase Cloud Messaging,Apple推送通知服務,SMS)以及websockets,REST API的訊息伺服器,具有分散式操作和訊息永續性。

  • hub -Go應用程式的訊息/事件中心,使用釋出/訂閱模式並支援如RabbitMQ交換之類的別名。

  • jazz-一個簡單的RabbitMQ抽象層,用於佇列管理以及訊息的釋出和使用。

  • machinery -基於分散式訊息傳遞的非同步任務佇列/作業佇列。

  • mangos -具有傳輸互操作性的Nanomsg(“可伸縮協議”)的純go實現。

  • melody -為處理WebSocket的會議簡約的框架,包括廣播和自動平/乒乓處理。

  • Mercure-伺服器和庫,用於使用Mercure協議(建立在Server-Sent Events之上)排程伺服器傳送的更新。

  • messagebus -messagebus是一種Go簡單的非同步訊息匯流排,非常適合在進行事件源,CQRS和DDD時用作事件匯流排。

  • NATS Go Client-輕便,高效能的釋出訂閱和分散式排隊訊息系統-這是Go庫。

  • nsq-event- bus-圍繞NSQ主題和渠道的小包裝。

  • oplog -REST API的通用oplog /複製系統。

  • pubsub-用於go的簡單pubsub軟體包。

  • rabbus -amqp交換和佇列上的小包裝。

  • rabtap -RabbitMQ瑞士軍刀cli應用程式。

  • RapidMQ -RapidMQ是用於管理本地訊息佇列的輕量級且可靠的庫。

  • redisqueue -redisqueue提供使用Redis流的佇列的生產者和消費者。

  • rmqconn -RabbitMQ重新連線。包裝在amqp.Connection和amqp.Dial上。允許在斷開對Close()方法的呼叫之前關閉連線時允許重新連線。

  • sarama -Apache Kafka的Go庫。

  • Uniqush-Push -Redis支援的統一推送服務,用於向移動裝置的伺服器端通知。

  • zmq4-到ZeroMQ版本4的介面。也可用於版本3版本2

微軟辦公軟體

  • unioffice -Pure Go庫,用於建立和處理Office Word(.docx),Excel(.xlsx)和Powerpoint(.pptx)文件。

微軟Excel

用於使用Microsoft Excel的庫。

  • excelize -用於讀取和寫入Microsoft Excel™(XLSX)檔案的Golang庫。

  • go-excel-一個簡單而輕便的閱讀器,可以將類似於related-db的excel讀取為表格。

  • goxlsxwriter -libxlsxwriter的Golang繫結,用於編寫XLSX(Microsoft Excel)檔案。

  • xlsx-用於簡化讀取Go程式中最新版本的Microsoft Excel使用的XML格式的庫。

  • xlsx-在Go程式中讀取/更新現有Microsoft Excel檔案的快速安全方法。

依賴注入

用於依賴注入的庫。

  • alice -Golang的附加依賴項注入容器。

  • container -具有流利且易於使用的介面的強大IoC容器。

  • dig -Go的基於反射的依賴注入工具包。

  • dingo-基於Guice的Go依賴注入工具包。

  • fx -Go的基於依賴項注入的應用程式框架(建立在dig之上)。

  • gocontainer-簡單依賴項注入容器。

  • inject-具有簡單介面的基於反射的依賴項注入容器。

  • linker -基於反射的依賴項注入和具有元件生命週期支援的控制庫反轉。

  • wire -Golang的嚴格執行時依賴注入。

專案佈局

用於構造專案的非官方模式集。

字串

用於處理字串的庫。

  • strutil-字串實用程式。

  • xstrings-從其他語言移植的有用的字串函式的集合。

將這些庫放在此處是因為其他類別似乎都不適合。

  • anagent-具有依賴項注入功能的簡約,可插入Golang evloop / timer處理程式。

  • antch-快速,強大且可擴充套件的Web爬網和抓取框架。

  • archiver-用於製作和提取.zip和.tar.gz檔案的庫和命令。

  • autoflags -Go程式包可從struct欄位自動定義命令列標誌。

  • avgRating-根據Wilson得分方程計算平均得分和等級。

  • banner -將精美的橫幅廣告新增到Go應用程式中。

  • base64Captcha -Base64captch支援數字,數字,字母,算術,音訊和數字字母驗證碼。

  • battery -跨平臺,標準化的電池資訊庫。

  • bitio-高度優化的Go語言位讀寫器。

  • browscap_go-用於瀏覽器功能專案的 GoLang庫。

  • captcha -驗證軟體包為生成驗證碼提供了一個易於使用的,不受限制的API。

  • conv-包conv可在Go型別之間提供快速直觀的轉換。

  • datacounter-用於讀者/作家/http.ResponseWriter的計數器。

  • ffmt-美化人類的資料顯示。

  • ghorg-快速將整個組織/使用者儲存庫克隆到一個目錄中-支援GitHub,GitLab和Bitbucket。

  • go-commons-pool -Golang的通用物件池。

  • go-openapi-解析和利用open-api模式的軟體包集合。

  • go-resiliency -golang的彈性模式。

  • go-unarr-用於RAR,TAR,ZIP和7z存檔的解壓縮庫。

  • gofakeit-用go編寫的隨機資料生成器。

  • gommit-分析git commit訊息以確保它們遵循定義的模式。

  • gopsutil-跨平臺庫,用於檢索程式和系統利用率(CPU,記憶體,磁碟等)。

  • gosh-提供Go統計處理程式,結構,度量方法。

  • gosms -Go中您自己的本地SMS閘道器,可用於傳送SMS。

  • gotoprom-官方Prometheus客戶端的型別安全度量構建器包裝器庫。

  • gountries-展示國家和細分資料的軟體包。

  • health -易於使用的可擴充套件健康檢查庫。

  • healthcheck-用於RESTful服務的經過審慎併發的執行狀況檢查HTTP處理程式。

  • hostutils-用於打包和解壓縮FQDN列表的golang庫。

  • indigo -使用Sonyflake並由Base58編碼的分散式唯一ID生成器。

  • LK -一個簡單的牌庫golang。

  • llvm-用於在純Go語言中與LLVM IR互動的庫。

  • metrics -指標檢測和Prometheus展示的庫。

  • morse-可以在莫爾斯電碼之間來回轉換的庫。

  • numa -NUMA是一個實用的庫,用go編寫。它有助於我們編寫一些NUMA-AWARED程式碼。

  • pdfgen -HTTP服務,用於從Json請求生成PDF。

  • persian-go中波斯語語言的一些實用程式。

  • sandid-地球上的每一粒沙都有自己的ID。

  • shellwords-一個Golang庫,用於根據UNIX Bourne shell的單詞解析規則來操作字串。

  • shortid-分散式生成的超短,唯一,非順序,URL友好的ID。

  • stateless -用於建立狀態機的流暢庫。

  • stats -監視Go MemStats和系統統計資訊(例如記憶體,交換和CPU),並通過UDP傳送到您想要記錄的任何位置等。

  • turtle -Go表情符號。

  • url- shortener-具有mysql支援的現代,強大而強大的URL縮短器微服務。

  • VarHandler-生成樣板http輸入和輸出處理。

  • XDG - FreeDesktop.org(XDG)規格的圍棋實現。

  • xkg -X鍵盤抓取器。

自然語言處理

用於使用人類語言的圖書館。

  • detectlanguage-語言檢測API Go客戶端。支援批量請求,短短語或單詞語言檢測。

  • getlang-快速自然語言檢測程式包。

  • go-i18n-用於處理本地化文字的軟體包和一個隨附工具。

  • go-localize-簡單易用的i18n(國際化和本地化)引擎-用於翻譯語言環境字串。

  • go-mystem -CGo與Yandex.Mystem的繫結-俄羅斯形態分析儀。

  • go-nlp-用於處理離散概率分佈的實用程式和其他可用於執行NLP工作的工具。

  • go-pinyin -CN Hanzi至Hanyu拼音轉換器。

  • go- stem-搬運程式阻止演算法的實現。

  • go-unidecode -Unicode文字的ASCII音譯。

  • go2vec-用於word2vec嵌入的閱讀器和實用程式功能。

  • gojieba -這是一個圍棋實施解霸其中中國分詞演算法。

  • golibstemmer-轉到雪球libstemmer庫的繫結,包括porter 2。

  • gotokenizer-基於字典和Goram語言的Bigram語言模型的標記器。(現在僅支援中文細分)

  • gounidecode -Go的Unicode音譯器(也稱為unidecode)。

  • gse-進行有效的文字分割;支援英語,中文,日語等。

  • ICU - CGO結合為ICU4C C庫檢測和轉換功能。保證與版本50.1相容。

  • kagome-用純Go語言編寫的JP形態分析儀。

  • libtextcat -libtextcat C庫的Cgo繫結。保證與2.2版相容。

  • MMSEGO-這是MMSEG的GO實現,它是中文分詞演算法。

  • nlp-從字串中提取值,並用nlp填充您的結構。

  • nlp-支援LSA(潛在語義分析)的Go Natural Language Processing庫。

  • paicehusk -Paice / Husk提取演算法的Golang實現。

  • petrovich-彼得羅維奇(Petrovich)是圖書館,在給定的語法情況下使用俄語名稱。

  • porter-這是Martin Porter的Porter詞幹演算法的C實現的相當簡單的移植。

  • porter2-非常快的Porter 2 提取器

  • prose-用於文字處理的庫,支援標記化,詞性標記,命名實體提取等。僅限英語。

  • RAKE.go-快速自動關鍵字提取演算法(RAKE)的Go埠。

  • segment-用於執行Unicode標準附件#29中所述的Unicode文字分段的Go庫

  • 句子 -句子標記器:將文字轉換為句子列表。

  • shamoji -shamoji是用Go編寫的單詞過濾程式包。

  • snowball -Go的雪球莖埠(cgo包裝器)。提供單詞詞幹提取功能Snowball本機

  • stemmer-用於Go程式語言的Stemmer軟體包。包括英語和德語詞幹。

  • textcat -Go包,用於基於n-gram的文字分類,並支援utf-8和原始文字。

  • whatlanggo -Go的自然語言檢測程式包。支援84種語言和24種指令碼(書寫系統,例如拉丁語,西裡爾字母等)。

  • -自然EN和RU語言日期/時間分析器具有可插拔的規則。

聯網

用於處理網路各層的庫。

  • arp-包arp實現ARP協議,如RFC 826中所述。

  • buffstreams-通過TCP流化協議緩衝區資料變得容易。

  • canopus -CoAP客戶端/伺服器實施(RFC 7252)。

  • cidranger -Go的快速IP到CIDR查詢。

  • dhcp6-軟體包dhcp6實現了DHCPv6伺服器,如RFC 3315中所述。

  • dns-使用DNS的Go庫。

  • ether-用於傳送和接收乙太網幀的跨平臺Go軟體包。

  • ethernet-程式包ethernet實現對IEEE 802.3乙太網II幀和IEEE 802.1Q VLAN標籤的封送處理。

  • fasthttp-軟體包fasthttp是Go的一種快速HTTP實現,比net / http快10倍。

  • fortio-負載測試庫和命令列工具,高階回顯伺服器和Web UI。允許指定設定的每秒查詢負載,並記錄延遲直方圖和其他有用的統計資料並對其進行圖形化。Tcp,Http,gRPC。

  • ftp-程式包ftp實現RFC 959中所述的FTP客戶端。

  • gaio-在proactor模式下用於Golang的高效能async-io網路。

  • gev -gev是基於Reactor模式的輕量級,快速,無阻塞的TCP網路庫。

  • gmqtt -Gmqtt是一個靈活的高效能MQTT代理庫,它完全實現了MQTT協議V3.1.1。

  • gnet - gnet是一種高效能,輕量化,非阻塞,事件驅動的網路用純圍棋框架。

  • gNxI-使用gNMI和gNOI協議的網路管理工具的集合。

  • go-getter -Go庫,可使用URL從各種來源下載檔案或目錄。

  • go-powerdns-Golang的 PowerDNS API繫結。

  • go-stun -STUN客戶端的Go實現(RFC 3489和RFC 5389)。

  • gobgp-使用Go程式語言實現的BGP。

  • golibwireshark-軟體包golibwireshark使用libwireshark庫來解碼pcap檔案並分析解剖資料。

  • gopacket -Go庫,用於使用libpcap繫結進行資料包處理。

  • gopcap -libpcap的包裝器。

  • goshark-軟體包goshark使用tshark解碼IP資料包並建立資料結構以分析資料包。

  • gosnmp-用於執行SNMP操作的本機Go庫。

  • gosocsvr-套接字伺服器變得簡單。

  • gotcp-用於快速編寫tcp應用程式的Go軟體包。

  • grab -用於管理檔案下載的軟體包。

  • graval-實驗性FTP伺服器框架。

  • HTTPLab -HTTPLabs可讓您檢查HTTP請求並偽造響應。

  • httpproxy -HTTP代理處理程式和撥號程式。

  • iplib-受python ipaddress和ruby ipaddr啟發而使用IP地址(net.IP,net.IPNet)的庫

  • jazigo -Jazigo是用Go語言編寫的工具,用於檢索多個網路裝置的配置。

  • kcp-go - KCP-快速可靠的ARQ協議。

  • kcptun-基於KCP協議的極其簡單和快速的udp隧道。

  • lhttp-強大的websocket框架,可以更輕鬆地構建IM伺服器。

  • linkio-用於讀取器/寫入器介面的網路連結速度模擬。

  • llb-這是代理伺服器的非常簡單但快速的後端。對於零記憶體分配和快速響應的快速重定向到預定義域很有用。

  • mdns -Golang中的簡單mDNS(多播DNS)客戶端/伺服器庫。

  • mqttPaho -Paho Go客戶端提供了一個MQTT客戶端庫,用於通過TCP,TLS或WebSockets連線到MQTT代理。

  • NFF-Go-用於快速開發雲和裸機(以前的YANFF)的高效能網路功能的框架。

  • packet -通過TCP和UDP傳送資料包。如果需要,它可以緩衝訊息和熱交換連線。

  • peerdiscovery -Pure Go庫,用於使用UDP多播進行跨平臺的本地對等發現。

  • portproxy-簡單的TCP代理,它將不支援它的API新增到CORS支援中。

  • publicip-包publicip返回您的面向公眾的IPv4地址(網際網路出口)。

  • quic- go-在純Go中實現QUIC協議。

  • raw-包raw允許在裝置驅動程式級別為網路介面讀取和寫入資料。

  • sftp-包sftp實現SSH檔案傳輸協議,如https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt中所述

  • ssh-用於構建SSH伺服器的高階API(包裝crypto / ssh)。

  • sslb-這是一個超級簡單的負載均衡器,只是一個實現某種效能的小專案。

  • stun -RFC 5389 STUN協議的實現。

  • tcp_server-用於更快地構建tcp伺服器的Go庫。

  • tspool -TCP庫使用工作池來提高效能並保護您的伺服器。

  • UTP -圍棋UTP微傳輸協議的實現。

  • water -簡單的TUN / TAP庫。

  • webrtc -WebRTC API的純Go實現。

  • winrm-進入WinRM客戶端以在Windows計算機上遠端執行命令。

  • xtcp-具有同步全雙工通訊,安全關閉,自定義協議的TCP Server Framework。

HTTP客戶端

用於發出HTTP請求的庫。

  • gentleman -功能齊全的外掛驅動的HTTP客戶端庫。

  • grequests-著名的Requests庫的Go克隆。

  • heimdall-具有重試和hystrix功能的增強型http客戶端。

  • httpretry-使用重試功能豐富預設的go HTTP客戶端。

  • pester -使用重試,退避和併發進行HTTP客戶端呼叫。

  • resty-受Ruby rest-client啟發的Go的簡單HTTP和REST客戶端。

  • rq -golang stdlib HTTP客戶端的更好介面。

  • sling -Sling是Go HTTP客戶端庫,用於建立和傳送API請求。

的OpenGL

在Go中使用OpenGL的庫。

  • gl-用於OpenGL的繫結(通過glow生成)。

  • glfw -GLFW 3的繫結。

  • goxjs / gl-跨平臺的OpenGL繫結(OS X,Linux,Windows,瀏覽器,iOS,Android)。

  • goxjs / glfw-跨平臺的glfw庫,用於建立OpenGL上下文並接收事件。

  • mathgl-受GLM啟發,專門用於3D數學的Pure Go數學軟體包。

ORM

實現物件關係對映或資料對映技術的庫。

  • beego orm-強大的orm框架。支援:pq / mysql / sqlite3。

  • go-firestorm -Google / Firebase Cloud Firestore的簡單ORM。

  • go-pg -PostgreSQL ORM,專注於PostgreSQL特定的功能和效能。

  • go-queryset-具有程式碼生成功能的100%型別安全的ORM,並基於GORM支援MySQL,PostgreSQL,Sqlite3,SQL Server。

  • go-sqlbuilder-靈活而強大的SQL字串構建器庫以及零配置ORM。

  • go- store-用於Go的簡單快速的Redis支援的鍵值儲存庫。

  • GORM -這些巨大的ORM庫Golang,目的是開發者友好。

  • gormt-將 MySQL資料庫轉換為golang gorm結構。

  • gorp -Go Relational Persistence,用於Go的ORM類庫。

  • grimoire -Grimoire是資料庫訪問層和golang驗證。(支援:MySQL,PostgreSQL和SQLite3)。

  • lore -用於Go的簡單輕便的偽ORM /偽結構對映環境。

  • Marlow-從專案結構生成的ORM,用於編譯時安全保證。

  • pop / soda -MySQL,PostgreSQL和SQLite的資料庫遷移,建立,ORM等。

  • QBS-代表按結構查詢。Go ORM。

  • reform -基於非空介面和程式碼生成的更好的ORM for Go。

  • rel - Golang SQL庫層清潔(洋蔥)架構。

  • SQLBoiler -ORM生成器。生成針對您的資料庫模式量身定製的功能強大且快速的ORM。

  • upper.io/db-用於使用包裝成熟的資料庫驅動程式的介面卡與不同資料來源進行互動的單個介面。

  • Xorm -Go的簡單而強大的ORM。

  • zoom -超快資料儲存和查詢引擎建立在Redis的。

包裝管理

依賴和程式包管理的官方工具

  • go modules-模組是原始碼交換和版本控制的單元。go命令直接支援使用模組,包括記錄和解決對其他模組的依賴性。

用於包管理的官方實驗工具

  • dep -Go依賴工具。

  • vgo-版本化的Go。

用於包和依賴項管理的非官方庫。

  • gigo-用於golang的類似PIP的依賴項工具,支援私有儲存庫和雜湊。

  • glide -輕鬆管理您的golang供應商和供應商軟體包。受到Maven,Bundler和Pip等工具的啟發。

  • godep -go的依賴工具,godep通過修復程式包的依賴關係可重複構建軟體包。

  • gom -Go Manager-Go捆綁包。

  • GOOP -簡單的依賴經理圍棋(golang),通過捆紮機的啟發。

  • gop-在GOPATH之外構建和管理Go應用程式。

  • gopm-轉到軟體包管理器。

  • govendor -Go軟體包管理器。使用標準供應商檔案的Go供應商工具。

  • gpm-準系統Go的準系統依賴管理器。

  • johnny-deps-使用Git的最小依賴版本。

  • mvn-golang-該外掛提供了自動載入Golang SDK,依賴性管理以及在Maven專案基礎架構中啟動構建環境的方式。

  • nut -Vendor Go依賴項。

  • VenGO-建立和管理可匯出的隔離go虛擬環境。

效能

  • jaeger-分散式跟蹤系統。

  • profile -簡單的分析支援包圍棋。

  • tracer -簡單,輕便的跟蹤。

查詢語言

  • gojsonq-一個用於查詢JSON資料的簡單Go包。

  • graphql -graphql解析器和實用程式。

  • graphql-專注於易用性的GraphQL伺服器。

  • graphql-go -GraphQL for Go的實現。

  • jsonql - Golang中的 JSON查詢表示式庫。

  • jsonslice-具有高階過濾器的Jsonpath查詢。

  • rql -REST API的資源查詢語言。

  • straf-輕鬆將Golang結構轉換為GraphQL物件。

資源嵌入

  • ESC -嵌入功能檔案到電腦圍棋程式,並提供http.FileSystem介面給他們。

  • fileb0x-嵌入檔案的簡單工具,重點放在“自定義”上,易於使用。

  • go-embed-生成go程式碼以將資原始檔嵌入到您的庫或可執行檔案中。

  • go-resources -Go中嵌入的多餘資源。

  • go.rice -go.rice是一個Go程式包,使處理html,js,css,影象和模板等資源非常容易。

  • packr-將靜態檔案嵌入Go二進位制檔案的簡單方法。

  • statics -將靜態資源嵌入go檔案中以進行單個二進位制編譯+與http.FileSystem +符號連結一起使用。

  • statik-將靜態檔案嵌入Go可執行檔案。

  • templify-將外部模板檔案嵌入Go程式碼中以建立單個檔案二進位制檔案。

  • vfsgen-生成靜態實現給定虛擬檔案系統的vfsdata.go檔案。

科學與資料分析

用於科學計算和資料分析的圖書館。

  • assocentity-包關聯性返回單詞到給定實體的平均距離。

  • bradleyterry-提供Bradley-Terry模型進行成對比較。

  • chart -Go的簡單圖表繪相簿。支援多種圖形型別。

  • dataframe - go-用於機器學習和統計的資料框(類似於熊貓)。

  • evaler-簡單的浮點算術表示式評估器。

  • ewma-指數加權移動平均值。

  • geom -golang的2D幾何。

  • go-dsp -Go的數字訊號處理。

  • go- gt-用“ Go”語言編寫的圖論演算法。

  • goent-熵測度的GO實施。

  • gohistogram-資料流的近似直方圖。

  • gonum - Gonum是Go程式語言的一組數字庫。它包含用於矩陣,統計資訊,優化等的庫。

  • gonum / plot -gonum / plot提供了一個用於在Go中構建和繪製圖的API。

  • goraph -Pure Go圖論庫(資料結構,演算法視覺化)。

  • gosl -Go科學圖書館,提供線性代數,FFT,幾何,NURBS,數值方法,概率,優化,微分方程等。

  • GoStats -GoStats是用於數學統計的開源GoLang庫,主要用於機器學習領域,它涵蓋了大多數統計度量功能。

  • graph-基本圖形演算法庫。

  • ode-常微分方程(ODE)求解器,支援擴充套件狀態和基於通道的迭代停止條件。

  • ORB -二維幾何型別與剪裁外,GeoJSON和Mapbox向量磚支撐。

  • pagerank-在Go中實現的加權PageRank演算法。

  • piecewiselinear-微小的線性插值庫。

  • PiHex-十六進位制數Pi的“ Bailey-Borwein-Plouffe”演算法的實現。

  • rootfinding-用於查詢二次函式根的尋根演算法庫。

  • 稀疏 -線性代數的Go稀疏矩陣格式,支援科學和機器學習應用程式,與gonum矩陣庫相容。

  • stats -Golang標準庫中缺少常用功能的統計資訊包。

  • streamtools-用於處理資料流的通用圖形工具。

  • TextRank -Golang中的TextRank實現,具有可擴充套件的功能(摘要,加權,短語提取)和多執行緒(goroutine)支援。

  • triangolatte -2D三角剖分庫。允許將線和多邊形(均基於點)轉換為GPU的語言。

安全

用於幫助使您的應用程式更安全的庫。

  • acmetool-具有自動續訂功能的ACME(我們加密)客戶端工具。

  • acra-網路加密代理,可保護基於資料庫的應用程式免遭資料洩漏:強大的選擇性加密,SQL隱碼攻擊預防,入侵檢測系統。

  • argon2pw-具有恆定時間密碼比較的Argon2密碼雜湊生成。

  • autocert-自動配置讓我們加密證照並啟動TLS伺服器。

  • BadActor-基於fail2ban精神構建的記憶體中應用程式驅動的獄卒。

  • Cameradar-從遠端監控攝像機遠端破解RTSP流的工具和庫。

  • certificates -用於生成tls證照的自以為是的工具。

  • go-generate-password-密碼生成器,可以在cli上使用或用作庫。

  • go-yara -Go Bindings for YARA,“用於惡意軟體研究人員(和其他所有人)的模式匹配瑞士刀”。

  • goArgonPass -Argon2密碼雜湊和驗證,旨在與現有的Python和PHP實現相容。

  • goSecretBoxPassword-一個可能偏執的軟體包,用於安全地雜湊和加密密碼。

  • interpol -基於規則的資料生成器,用於模糊和滲透測試。

  • lego -Pure Go ACME客戶端庫和CLI工具(與Let’s Encrypt一起使用)。

  • memguard-用於處理記憶體中敏感值的純Go庫。

  • nacl -NaCL API集的實現。

  • passlib-永不過時的密碼雜湊庫。

  • secure -用於Go的HTTP中介軟體,有助於快速贏得安全性。

  • simple- scrypt-具有簡單,明顯API和內建自動成本校準功能的Scrypt軟體包。

  • ssh- vault-使用ssh金鑰加密/解密。

  • sslmgr-通過圍繞acme / autocert的高階包裝,可以輕鬆實現SSL證照。

序列化

庫和二進位制序列化工具。

  • asn1-用於golang的Asn.1 BER和DER編碼庫。

  • bambam-開始使用Cap’n Proto模式的生成器。

  • BEL -生成圍棋結構/介面打字稿介面。對JSON RPC有用。

  • binstruct -Golang二進位制解碼器,用於將資料對映到結構中。

  • cbor-小型,安全和便捷的CBOR編碼和解碼庫。

  • colfer -Colfer二進位制格式的程式碼生成。

  • csvutil-對本地Go結構的高效能,慣用CSV記錄編碼和解碼。

  • elastic -無論何時,都可以在執行時跨不同型別轉換切片,地圖或任何其他未知值。

  • fixedwidth-固定寬度的文字格式(支援UTF-8)。

  • fwencoder - Go的固定寬度檔案解析器(編碼和解碼庫)。

  • go-capnproto -Cap’n Proto庫和go解析器。

  • go- codec-用於msgpack,cbor和json的高效能,功能豐富,慣用的編碼,解碼和rpc庫,具有基於執行時的OR程式碼生成支援。

  • gogoprotobuf -Go與小工具一起使用的協議緩衝區。

  • goprotobuf-以庫和協議編譯器外掛的形式提供對Google協議緩衝區的支援。

  • jsoniter- “ encoding / json”的高效能100%相容的嵌入式替換。

  • mapstructure -Go庫,用於將通用地圖值解碼為本地Go結構。

  • php_session_decoder -GoLang庫,用於使用PHP會話格式和PHP序列化/反序列化功能。

  • pletter -為訊息代理包裝原始訊息的標準方法。

  • structomap-從靜態結構輕鬆動態地生成地圖的庫。

伺服器應用

  • algernon -HTTP / 2 Web伺服器,內建對Lua,Markdown,GCSS和Amber的支援。

  • Caddy -Caddy是易於配置和使用的備用HTTP / 2 Web伺服器。

  • consul -Consul是用於服務發現,監視和配置的工具。

  • devd-開發人員的本地網路伺服器。

  • discovery -用於彈性中間層負載平衡和故障轉移的登錄檔。

  • dudeldu-一個簡單的SHOUTcast伺服器。

  • etcd-高可用性的鍵值儲存,用於共享配置和服務發現。

  • Fider -Fider是一個開放平臺,用於收集和組織客戶反饋。

  • Flagr -Flagr是一種開源功能標記和A / B測試服務。

  • flipt-用Go和Vue.js編寫的自包含功能標誌解決方案

  • jackal-用Go編寫的XMPP伺服器。

  • minio - Minio是分散式物件儲存伺服器。

  • nginx-prometheus -Nginx日誌解析器和Prometheus的匯出器。

  • nsq-實時分散式訊息傳遞平臺。

  • psql-streamer-將資料庫事件從PostgreSQL流化到Kafka。

  • riemann-relay-中繼以實現Riemann事件的負載平衡和/或將其轉換為Carbon。

  • RoadRunner-高效能PHP應用程式伺服器,負載平衡器和程式管理器。

  • SFTPGo-功能齊全且可高度配置的SFTP伺服器軟體。

  • Trickster -HTTP反向代理快取和時間序列加速器。

  • yakvs-小型網路記憶體中鍵值儲存。

流處理

用於流處理和反應式程式設計的庫和工具。

模板引擎

用於模板化和詞彙化的庫和工具。

  • ace -Ace是Go語言的HTML模板引擎,其靈感來自Slim和Jade。王牌是黃金的提煉。

  • amber -琥珀色是Go程式語言的優雅模板引擎,其靈感來自HAML和Jade。

  • damsel-標記語言,具有通過css-selectors進行html概述的功能,可通過pkg html / template等擴充套件。

  • ego-輕量級的模板語言,可讓您在Go中編寫模板。模板被翻譯成Go並被編譯。

  • extemplate-圍繞html / template的微型包裝器,可輕鬆實現基於檔案的模板繼承。

  • fasttemplate-簡單快速的模板引擎。替換模板佔位符的速度比text / template快10倍。

  • gofpdf-具有高階支援的文字,圖形和影象的PDF文件生成器。

  • gospin-文章旋轉和spintax / spinning語法引擎,適用於A / B,測試文字/文章並建立更自然的對話。

  • goview -Goview是一個基於golang html / template的輕量級,極簡且慣用的模板庫,用於構建Go Web應用程式。

  • hero -Hero是一個方便,快速且強大的go模板引擎。

  • jet -Jet模板引擎。

  • kasia.go -HTML和其他文字文件的模板系統-執行。

  • liquid -Shopify Liquid模板的實現。

  • maroto-一種建立PDF的maroto方法。Maroto受Bootstrap啟發,並使用gofpdf。快速簡單。

  • mustache -Mustache模板語言的Go實現。

  • pongo2 -Go的類似Django的模板引擎。

  • quicktemplate-快速,強大但易於使用的模板引擎。將模板轉換為Go程式碼,然後進行編譯。

  • raymond -Go中完整的車把實現。

  • Razor -Golang的Razor檢視引擎。

  • 遵循官方規格的 Go的Soy -closure模板(也稱為Soy模板)。

  • velvet -Go中完整的車把實現。

測試中

用於測試程式碼庫和生成測試資料的庫。

  • 測試框架

    • apitest-用於基於REST的服務或HTTP處理程式的簡單且可擴充套件的行為測試庫,支援模擬外部http呼叫和序列圖的呈現。

    • assert-與本地本機go測試一起使用的基本斷言庫,帶有用於自定義斷言的構建塊。

    • badio -Go testing/iotest包的擴充套件。

    • baloo-表達性和通用性的端到端HTTP API測試變得容易。

    • biff-分叉測試框架,與BDD相容。

    • charlatan-生成用於測試的虛假介面實現的工具。

    • commander-用於在Windows,Linux和osx上測試cli應用程式的工具。

    • cupaloy-適用於您的測試框架的簡單快照測試外掛。

    • dbcleaner-database_cleanerRuby 啟發,清理資料庫以進行測試。

    • dsunit-資料儲存區測試SQL,NoSQL,結構化檔案。

    • Embedded- Postgres-作為另一個Go應用程式或測試的一部分,在Linux,OSX或Windows上本地執行真實的Postgres資料庫。

    • endly -宣告式端到端功能測試。

    • flute -HTTP客戶端測試框架。

    • frisby -REST API測試框架。

    • ginkgo -Go的BDD測試框架。

    • go-carpet-用於在終端中檢視測試覆蓋率的工具。

    • go-cmp-用於比較測試中Go值的軟體包。

    • go-mutesting -Go原始碼的變異測試。

    • go-testdeep-極其靈活的golang深度比較,擴充套件了go測試包。

    • go-vcr-記錄並重放HTTP互動,以進行快速,確定性和準確的測試。

    • goblin -摩卡(Mocha)像Go的測試框架

    • gocheck-比getest更高階的測試框架。

    • GoConvey-具有Web UI和實時過載的BDD樣式的框架。

    • gocrest -Go斷言的可組合的類似於hamcrest的匹配器。

    • godog-類似於Go的BDD框架的Cucumber或Behat

    • gofight -Golang路由器框架的API處理程式測試。

    • gogiven -Go的類似YATSPEC的BDD測試框架。

    • gomatch-建立用於根據模式測試JSON的庫。

    • gomega - Rspec,例如匹配器/斷言庫。

    • GoSpec-用於Go程式語言的BDD樣式測試框架。

    • gospecify-這提供了BDD語法來測試您的Go程式碼。使用過rspec之類的庫的任何人都應該熟悉。

    • gosuite-testing利用Go1.7的子測試,使帶有設定/拆卸功能的輕量級測試套件成為可能。

    • gotest.tools-軟體包的集合,以增強go測試軟體包並支援常見模式。

    • Hamcrest-用於宣告式Matcher物件的流利框架,將其應用於輸入值時,會產生自描述結果。

    • httpexpect-簡潔,宣告性且易於使用的端到端HTTP和REST API測試。

    • jsonassert-用於驗證JSON有效負載已正確序列化的軟體包。

    • restit-微型框架,可幫助編寫RESTful API整合測試。

    • schema -在請求和響應中使用JSON模式方便快捷則表示式匹配。

    • testcase -行為驅動開發的慣用測試框架。

    • testfixtures -Rails的測試夾具,用於測試資料庫應用程式。

    • testify -對標準go測試包的神聖擴充套件。

    • testmd-將markdown程式碼片段轉換為可測試的go程式碼。

    • testsql-在測試之前從SQL檔案生成測試資料,並在完成後將其清除。

    • trial -快速簡單的可擴充套件斷言,無需引入太多樣板檔案。

    • Tt-簡單而豐富多彩的測試工具。

    • wstest -Websocket客戶端,用於對websocket http.Handler進行單元測試。

  • 嘲笑

    • counterfeiter -生成獨立模擬物件的工具。

    • go-sqlmock-用於測試資料庫互動的模擬SQL驅動程式。

    • go-txdb-基於單事務的資料庫驅動程式,主要用於測試目的。

    • gock-多種HTTP 模擬變得容易。

    • gomock -Go程式語言的模擬框架。

    • govcr-用於Golang的HTTP模擬:記錄和重放HTTP互動以進行離線測試。

    • hoverfly -HTTP(S)代理,用於使用可擴充套件的中介軟體和易於使用的CLI記錄和模擬REST / SOAP API。

    • httpmock-輕鬆模擬來自外部資源的HTTP響應。

    • minimock -Go介面的模擬生成器。

    • mockhttp -Go http.ResponseWriter的模擬物件。

    • timex-對本機time軟體包的測試友好替代。

  • 除錯。

    • go-fuzz-隨機測試系統。

    • gofuzz-用於使用隨機值填充go物件的庫。

    • Tavor-通用的模糊和增量除錯框架。

  • 瀏覽器控制工具。

    • cdp -Chrome除錯協議的型別安全繫結,可與實現該協議的瀏覽器或其他除錯目標一起使用。

    • chromedp-一種驅動/測試Chrome,Safari,Edge,Android Webview和其他支援Chrome除錯協議的瀏覽器的方法。

    • ggr-輕量級伺服器,將Selenium WebDriver請求路由和代理到多個Selenium集線器。

    • rod - A鍍鉻devtools控制器,很容易和安全使用。

    • selenoid-在容器內啟動瀏覽器的備用Selenium集線器伺服器。

  • 注入

文書處理

用於解析和處理文字的庫。

  • 特定格式

    • align-對齊文字的通用應用程式。

    • allot -CLI工具和漫遊器的佔位符和萬用字元文字解析。

    • bbConvert-將bbCode轉換為HTML,使您可以新增對自定義bbCode標記的支援。

    • blackfriday -Go中的Markdown處理器。

    • bluemonday -HTML清理工具。

    • codetree-解析縮排的程式碼(python,pixy,scarlet等)並返回樹結構。

    • colly -Gophers的快速優雅的刮取框架。

    • commonregex -Go的通用正規表示式的集合。

    • dataflowkit -Web抓取框架,用於將網站轉換為結構化資料。

    • did了-Go中的DID(分散識別符號)解析器和Stringer。

    • doi -Go中的文件物件識別符號(doi)解析器。

    • editorconfig-core-go -Go的Editorconfig檔案解析器和操縱器。

    • enca - libenca的最小cgo繫結。

    • encdec-程式包為編碼器和解碼器提供通用介面。

    • genex-計算正規表示式並將其擴充套件為所有匹配的字串。

    • github_flavored_markdown -GitHub Flavored Markdown渲染器(使用blackfriday),帶有圍欄程式碼塊突出顯示,可單擊的標頭錨連結。

    • go-fixedwidth-固定寬度的文字格式(帶反射的編碼器/解碼器)。

    • go- humanize-將時間,數字和記憶體大小的格式化程式轉換為可讀格式。

    • go-nmea-用於Go語言的NMEA解析器庫。

    • go-runewidth-獲取固定寬度的字元或字串的函式。

    • go-slugify-通過多種語言支援,使之非常出色。

    • go-toml-具有查詢支援和方便的cli工具的TOML格式的Go庫。

    • go-vcard-解析和格式化vCard。

    • go-zero-width -Go的零寬度字元檢測和刪除。

    • gofeed-在Go中解析RSS和Atom提要。

    • gographviz-解析Graphviz DOT語言。

    • gommon / bytes-將位元組格式化為字串。

    • gonameparts-將人名解析為單獨的名稱部分。

    • goq-使用帶有jQuery語法的struct標記對HTML進行宣告式解封(使用GoQuery)。

    • GoQuery -GoQuery為Go語言帶來了一種類似於jQuery的語法和一組功能。

    • goregen-用於從正規表示式生成隨機字串的庫。

    • goribot-一個簡單的golang爬蟲/抓取框架,分3行構建一個蜘蛛。

    • gotext -Go的GNU gettext實用程式。

    • guesslanguage-確定unicode文字的自然語言的功能。

    • htmlquery-用於HTML的XPath查詢包,可讓您通過XPath表示式從HTML文件中提取資料或評估。

    • 注入 -包注入提供基於反射的注入器。

    • ltsv-用於Go的高效能LTSV(標籤製表符分隔值)閱讀器。

    • mxj-將XML編碼/解碼為JSON或map [string] interface {}; 使用點符號路徑和萬用字元提取值。替換x2j和j2x軟體包。

    • podcast -Golang中的iTunes相容和RSS 2.0 Podcast Generator

    • sdp -SDP:會話描述協議[ RFC 4566 ]。

    • sh -Shell解析器和格式化程式。

    • slug - URL友好slugify多語言支援。

    • Slugify-去處理字串的Slugify應用程式。

    • syndfeed -Atom 1.0和RSS 2.0的聯合供稿。

    • toml -TOML配置格式(帶反射的編碼器/解碼器)。

  • 效用

第三方API

用於訪問第三方API的庫。

實用工具

通用工具和工具,使您的生活更輕鬆。

  • APM -用於Golang應用程式與HTTP API過程管理器。

  • backscanner-類似於bufio.Scanner的掃描器,但是它以相反的順序讀取和返回行,從給定位置開始並向後移動。

  • beyond -Go工具將帶您進入AOP世界!

  • blank -驗證或刪除字串中的空格和空格。

  • boilr-十分快速的CLI工具,用於從樣板模板建立專案。

  • chyle-使用git儲存庫的Changelog生成器,具有多種配置可能性。

  • circuit -高效和完整的功能蝟比如去執行斷路器的格局。

  • circuitbreaker -斷路器在Go。

  • clockwork -用於golang的簡單假時鐘。

  • cmd-在osx,windows和linux上執行shell命令的庫。

  • command -命令模式的圍棋與執行緒安全的序列和並行排程。

  • copy-pasta-通用多工作站剪貼簿,使用後端等S3進行儲存。

  • countries -全面實施ISO-3166-1,ISO-4217,ITU-T E.164,Unicode CLDR和IANA ccTLD標準。

  • CTOP - 頂狀介面(例如HTOP),用於容器的指標。

  • ctxutil-上下文的實用程式功能的集合。

  • dbt-一種框架,用於從受信任的中央儲存庫執行自更新簽名的二進位制檔案。

  • death -通過訊號管理go應用程式關閉。

  • Deepcopier -Go的簡單結構複製。

  • delve-偵錯程式。

  • dlog-編譯時控制的記錄器,可在不刪除除錯呼叫的情況下縮小發行版。

  • ergo了在不同埠上執行的多個本地服務的管理。

  • evaluator -根據s表示式動態求值。它很容易擴充套件。

  • filetype-小包,用於推斷檢查魔術數字簽名的檔案型別。

  • filler -使用“填充”標籤的小工具來填充結構。

  • filter -提供過濾,消毒,和轉到資料的轉換。

  • fzf-用Go編寫的命令列模糊查詢器。

  • gaper-在Go專案崩潰或某些觀看的檔案更改時生成並重新啟動Go專案。

  • generate-執行go在指定的路徑或環境變數上遞迴生成,並且可以通過正規表示式進行過濾。

  • ghokin-並行化的格式化程式,沒有黃瓜的外部依賴關係(黃瓜,behat …)。

  • git-time-metric -Git的簡單,無縫,輕量級時間跟蹤。

  • go-astitodo-在您的GO程式碼中解析TODO

  • go-bind-plugin -go:generate工具,用於包裝由golang外掛匯出的符號(僅限1.8)。

  • go-bsdiff-純Go bsdiff和bspatch庫以及CLI工具。

  • go-dry -Go 的乾燥包裝(請勿重複)。

  • go-funk-現代Go實用程式庫,提供了幫助程式(對映,查詢,包含,過濾器,塊,反向等)。

  • go-health-執行狀況軟體包簡化了將執行狀況檢查新增到服務中的方式。

  • go-httpheader -Go庫,用於將結構編碼為Header欄位。

  • go-problemdetails-用於處理問題詳細資訊的Go軟體包。

  • go-rate -Go的定時速率限制器。

  • go-sitemap- generator-用Go編寫的XML Sitemap生成器。

  • go-trigger -Go-lang全域性事件觸發程式,使用ID註冊事件並從專案的任何位置觸發事件。

  • goback-使用簡單的指數補償程式包。

  • godaemon-編寫守護程式的實用程式。

  • godropbox-用於從Dropbox編寫Go服務/應用程式的通用庫。

  • gohper-各種工具/模組有助於開發。

  • golarm-具有系統事件的火災警報。

  • golog-簡單,輕量級的CLI工具,可定時跟蹤您的任務。

  • gopencils-小型簡單的程式包,可輕鬆使用REST API。

  • goplaceholder-一個小的golang庫,用於生成佔位符影象。

  • goreadability-使用Facebook Open Graph和arc90的可讀性的網頁摘要提取器。

  • goreleaser-儘可能快速,輕鬆地交付Go二進位制檔案。

  • goreporter -Golang工具,可進行靜態分析,單元測試,程式碼審查並生成程式碼質量報告。

  • goseaweedfs-具有幾乎全部功能的SeaweedFS客戶端庫。

  • gostrutils-字串操作和轉換函式的集合。

  • gotenv-從Go .env或任何io.ReaderGo中載入環境變數。

  • gpath-使用Go的反射形式簡化訪問結構欄位的庫。

  • gubrak -Golang實用程式庫,帶有語法糖。就像lodash,但對於golang。

  • handy -字串處理程式/格式化程式和驗證程式等許多實用程式和幫助程式。

  • htcat-並行和流水線HTTP GET實用程式。

  • hub-包裝git命令,並帶有其他功能以從終端與github互動。

  • hystrix-go-實現程式設計師定義的備用(又稱為斷路器)的Hystrix模式。

  • 不朽 -* nix跨平臺(不可知作業系統)主管。

  • intrinsic -使用x86 SIMD而不編寫任何彙編程式碼。

  • jsend-用Go語言編寫的JSend實現。

  • jump -跳躍可幫助您通過學習習慣來更快地導航。

  • koazee-受到懶惰評估和函數語言程式設計啟發的庫,消除了使用陣列的麻煩。

  • limiters -Golang中分散式應用程式的速率限制器,具有可配置的後端和分散式鎖。

  • lrserver -Go的LiveReload伺服器。

  • mc -Minio Client提供了最少的工具來與Amazon S3相容的雲端儲存和檔案系統一起使用。

  • mergo-在Golang中合併結構和地圖的助手。對於配置預設值很有用,避免了混亂的if語句。

  • mimemagic -Pure Go高效能MIME嗅探庫/實用程式。

  • mimesniffer -Go的MIME型別嗅探器。

  • mimetype-用於基於幻數的MIME型別檢測的軟體包。

  • minify-HTML,CSS,JS,XML,JSON和SVG檔案格式的快速縮小器

  • minquery-支援高效分頁的MongoDB / mgo.v2查詢(游標繼續列出我們停下來的文件)。

  • mmake-現代品牌。

  • Moldova-用於基於輸入模板生成隨機資料的實用程式。

  • mole -cli應用程式,可輕鬆建立ssh隧道。

  • mssqlx-資料庫客戶端庫,任何主從伺服器,主主伺服器結構的代理。輕巧且自動平衡。

  • multitick-用於對齊的行情的多路複用器。

  • myhttp-使用超時支援發出HTTP GET請求的簡單API。

  • okrun-執行錯誤壓路機。

  • olaf -Go中實現的Twitter Snowflake。

  • onecache-快取庫,支援多個後端儲存(Redis,Memcached,檔案系統等)。

  • panicparse-將類似的goroutines分組併為堆疊轉儲著色。

  • pattern- match-模式匹配libray。

  • peco-簡化的互動式過濾工具。

  • pgo -PHP社群的便捷功能。

  • pm -過程(即夠程)與HTTP API管理器。

  • ptr-提供用於簡化從基本型別的常量建立指標的功能的軟體包。

  • r - range()Go 的類似Python的體驗。

  • rclient-用於REST API的可讀,靈活,易於使用的客戶端。

  • realize -使用檔案監視程式構建系統並實時重新載入。使用自定義路徑執行,構建和監視檔案更改。

  • repeat -實施不同的退避策略,對重試操作和心跳很有用。

  • request-轉到“人類HTTP請求”。

  • rerate-用於Go的基於Redis的速率計數器和速率限制器。

  • rerun -在源更改時重新編譯並重新執行go應用。

  • rest-go-一個軟體包,提供了許多使用rest api的有用方法。

  • kamilsk/retry -最先進的功能機制,可以重複執行操作直到成功。

  • retry -用於Go的簡單但高度可配置的重試包。

  • retry -用於Go的簡單重試機制包。

  • retry -一個非常簡單的庫,以確保完成您的工作。

  • retry-go -golang的重試變得簡單容易。

  • robustly -靈活執行功能,捕獲並重新啟動緊急情況。

  • scan -掃描golang sql.Rows直接結構,條帶或基本型別。

  • serve -您需要的任何位置的靜態http伺服器。

  • shutdown-應用關機鉤子進行os.Signal處理。

  • silk -讀取絲綢netflow檔案。

  • slice-常見的Go slice操作的型別安全函式。

  • sliceconv-基本型別之間的切片轉換。

  • slicer -使切片操作更加輕鬆。

  • Spinner -Go程式包,可輕鬆為終端Spinner提供選項。

  • sqlx-在出色的內建資料庫/ sql軟體包的基礎上提供了一組擴充套件。

  • storm -簡單和BoltDB強大的工具包。

  • structs-實現簡單的功能來操縱結構。

  • task -簡單的“製作”替代方案。

  • tome -Tome旨在分頁簡單的RESTful API。

  • toolbox -切片,對映,多圖,結構,函式,資料轉換實用程式。服務路由器,巨集評估程式,令牌生成器。

  • ugo -ugo是切片工具箱,具有Go的簡潔語法。

  • UNIS -Go中字串實用程式的Common Architecture™。

  • usql -usql是SQL資料庫的通用命令列介面。

  • util-有用的實用程式功能的集合。(字串,併發,操作等)。

  • wuzz-用於HTTP檢查的互動式cli工具。

  • xferspdy -Xferspdy在golang中提供了二進位制差異和補丁庫。

UUID

用於處理UUID的庫。

  • goid-生成並解析符合RFC4122的V4 UUID。

  • nanoid-微型高效的Go唯一字串ID生成器。

  • sno-具有嵌入式後設資料的緊湊,可排序和快速的唯一ID。

  • ulid -ULID(通用唯一詞典分類排序識別符號)的實現。

  • uniq-使用命令無需麻煩,安全,快速的唯一識別符號。

  • uuid-使用快速或具有加密質量的隨機節點識別符號生成,編碼和解碼UUID v1。

  • uuid-通用唯一識別符號(UUID)的實現。支援建立和解析UUID。積極維護satori uuid的叉子。

  • wuid-一種非常快速的唯一數字生成器,比UUID快10-135倍。

驗證方式

用於驗證的庫。

  • checkdigit-提供校驗位演算法(Luhn,Verhoeff,Damm)和計算器(ISBN,EAN,JAN,UPC等)。

  • gody -? Go的輕量級結構驗證器。

  • govalid-快速,基於標籤的結構驗證。

  • govalidator-用於字串,數字,切片和結構的驗證器和消毒劑。

  • govalidator-使用簡單規則驗證Golang請求資料。受到Laravel請求驗證的極大啟發。

  • JIO - JIO類似於JSON模式驗證淳佳

  • ozzo-validation-支援使用普通程式碼結構中指定的可配置和可擴充套件驗證規則(而不是struct標記)對各種資料型別(結構,字串,對映,切片等)進行驗證。

  • terraform-validator -Terraform的規範和約定驗證器。

  • validate-用於資料驗證和過濾的Go軟體包。支援驗證Map,Struct,Request(Form,JSON,url.Values,Uploaded Files)資料和更多功能。

  • validate-該軟體包提供了一個框架,可為Go應用程式編寫驗證。

  • validator -進行結構和欄位驗證,包括交叉場,交叉結構,地圖,切片和陣列潛水。

版本控制

用於版本控制的庫。

  • GH -指令碼化伺服器和網路/ HTTP中介軟體GitHub的網路掛接。

  • git2go -libgit2的繫結。

  • go-git-在純Go中高度可擴充套件的Git實現。

  • go-vcs-在Go中操縱和檢查VCS儲存庫。

  • hercules -從Git儲存庫歷史中獲得高階見解。

  • hgo -Hgo是Go軟體包的集合,提供對本地Mercurial儲存庫的讀取訪問。

視訊

用於處理視訊的庫。

  • gmf -FFmpeg av *庫的繫結。

  • go-astisub-在GO中處理字幕(.srt,.stl,.ttml,.webvtt,.ssa / .ass,圖文電視,.smi等)。

  • go-astits-在GO中本地解析和解複用MPEG傳輸流(.ts)。

  • go-m3u8 -Apple m3u8播放列表的解析器和生成器庫。

  • goav -FFmpeg的全面Go繫結。

  • gst -GStreamer的繫結。

  • libgosubs -go的字幕格式支援。支援.srt,.ttml和.ass。

  • libvlc-go -libvlc 2.X / 3.X / 4.X的繫結(由VLC媒體播放器使用)。

  • m3u8 -Apple HLS的M3U8播放列表的解析器和生成器庫。

  • v4l-用Go編寫的Linux視訊捕獲庫。

Web框架

全棧Web框架。

  • aah -Go的可擴充套件,高效能,快速開發Web框架。

  • Aero-用於Go的高效能Web框架,在Lighthouse中得分最高。

  • Air -Go的理想Web框架。

  • Banjo-非常簡單,快速的Go Web框架。

  • Beego -beego是一種用於Go程式語言的開源高效能Web框架。

  • Buffalo-帶動Rails的生產力!

  • Echo-高效能,簡約的Go Web框架。

  • fiber -基於Expresshttp的Express.js啟發式Web框架。

  • fireball -更具“自然”感覺的Web框架。

  • Flamingo-可插拔Web專案的框架。包括模組概念並提供DI,Configareas,i18n,模板引擎,graphql,可觀察性,安全性,事件,路由和反向路由等功能。

  • Flamingo Commerce-使用乾淨的體系結構(如DDD以及埠和介面卡)提供電子商務功能,可用於構建靈活的電子商務應用程式。

  • Gin -Gin是用Go!編寫的Web框架。它具有類似於martini的API,效能更高,速度最高可提高40倍。如果您需要效能和良好的生產率。

  • Ginrpc -Gin引數自動繫結工具,gin rpc工具。

  • gizmo -微服務工具包使用的紐約時報。

  • go-json-rest-設定RESTful JSON API的快速簡便方法。

  • go-rest -Go的小巧的REST框架。

  • Goa -Goa提供了一種整體方法來在Go中開發遠端API和微服務。

  • goa -goa就像golang的koajs一樣,它是一個基於中介軟體的靈活,輕便,高效能和可擴充套件的Web框架。

  • Golax-一個非Sinatra快速HTTP框架,支援Google自定義方法,深度攔截器,遞迴等。

  • golf -高爾夫是一種用於Go的快速,簡單,輕便的微型Web框架。它具有強大的功能,除了Go Standard Library外沒有其他依賴項。

  • Gondola-用於更快編寫站點的Web框架。

  • gongular-具有輸入對映/驗證和(DI)依賴注入的Fast Go Web框架。

  • goweb-具有路由,websocket,日誌記錄,中介軟體,靜態檔案伺服器(可選gzip)和自動TLS的Web框架。

  • Goyave-功能齊全的Web框架,旨在提供乾淨的程式碼和快速的開發,並具有強大的內建功能。

  • hiboot -hiboot是具有自動配置和依賴項注入支援的高效能Web應用程式框架。

  • Macaron -Macaron是Go中一種高效且模組化的Web設計框架。

  • mango -Mango是受Rack和PEP333啟發的Go的模組化Web應用程式框架。

  • microservice -為建立微服務的,寫在Golang框架。

  • neo -Neo是最小且快速的Go Web Framework,具有極其簡單的API。

  • patron -Patron是遵循最佳雲實踐的微服務框架,其重點是生產力。

  • Resoursea-用於快速編寫基於資源的服務的REST框架。

  • REST層 -用於在資料庫之上構建REST / GraphQL API的框架,主要通過程式碼進行配置。

  • Revel -Go語言的高效Web框架。

  • rex -Rex是一個基於大猩猩/ mux進行模組化開發的庫,與.x完全相容net/http

  • rux-用於構建golang HTTP應用程式的簡單快速的Web框架。

  • tango-用於Go的微型和可插入Web框架。

  • tigertonic-受Dropwizard啟發而構建JSON Web服務的Go框架。

  • uAdmin-受Django啟發的功能齊全的Golang Web框架。

  • utron-用於Go(Golang)的輕量級MVC框架。

  • VOX -一個golang人類web框架,由興亞啟發嚴重。

  • WebGo-用於構建Web應用程式的微框架;與處理程式連結,中介軟體和上下文注入。使用符合標準庫的HTTP處理程式(即http.HandlerFunc)。

  • YARF-快速的微框架,旨在以快速,簡單的方式構建REST API和Web服務。

中介軟體

實際的中介軟體

  • client-timing -Server-Timing標頭的HTTP客戶端。

  • CORS-輕鬆向您的API新增CORS功能。

  • formjson-透明地將JSON輸入作為標準表單POST處理。

  • go-server-timing-新增/解析伺服器計時標頭。

  • limiter -Go的失效簡單速率限制中介軟體。

  • ln-paywall -Go中介軟體,用於通過Lightning Network(比特幣)按請求在API上獲利。

  • Tollbooth-速率限制HTTP請求處理程式。

  • XFF-處理X-Forwarded-For標頭和朋友。

用於建立HTTP中介軟體的庫

  • alice -Go的無痛中介軟體連結。

  • catena -http.Handler包裝器類別(與“鏈”相同的API)。

  • chain -處理程式包裝器鏈與範圍內的資料(基於net / context的“中介軟體”)。

  • go-wrap -net / http的小型中介軟體軟體包。

  • gores-處理HTML,JSON,XML等響應的Go包。對於RESTful API很有用。

  • interpose -用於golang的極簡net / http中介軟體。

  • muxchain-用於net / http的輕量級中介軟體。

  • negroni -Golang的慣用HTTP中介軟體。

  • render -Go包,用於輕鬆呈現JSON,XML和HTML模板響應。

  • renderer -用於Go的簡單,輕量和更快的響應(JSON,JSONP,XML,YAML,HTML,檔案)渲染包。

  • rye -微型圍棋中介軟體庫(罐頭中介軟體),支援智威湯遜,CORS,Statsd和Go 1.7上下文。

  • stats -Go中介軟體,用於儲存有關Web應用程式的各種資訊。

路由器

  • Alien-來自外層空間的輕巧快速的http路由器。

  • bellt-一個簡單的Go HTTP路由器。

  • bone -閃電快速HTTP多路複用器。

  • Bxog -Go的簡單快速HTTP路由器。它適用於難度,長度和巢狀不同的路線。而且他知道如何根據接收到的引數建立URL。

  • chi-基於net / context構建的小型,快速且富有表現力的HTTP路由器。

  • fasthttprouter-高效能分支從httprouter。第一個適合的路由器fasthttp

  • FastRouter-用Go編寫的快速,靈活的HTTP路由器。

  • gocraft / web -Go中的Mux和中介軟體軟體包。

  • Goji -Goji是一種簡約且靈活的HTTP請求多路複用器,支援net/context

  • goroute-簡單但功能強大的HTTP請求多路複用器。

  • GoRouter -GoRouter是一種伺服器/ API微型框架,HTTP請求路由器,多路複用器,多路複用器,可為請求路由器提供中介軟體支援net/context

  • gowww / router-與net / http.Handler介面完全相容的快速HTTP路由器。

  • httprouter-高效能路由器。使用它和標準的http處理程式可以形成一個非常高效能的Web框架。

  • httptreemux-用於Go的高速,基於樹的靈活HTTP路由器。來自httprouter的啟發。

  • lars-是Go的輕量級,快速和可擴充套件的零分配HTTP路由器,用於建立可自定義的框架。

  • MUX -強大的URL路由和golang排程。

  • ozzo-routing-一種非常快速的Go(golang)HTTP路由器,支援正規表示式路由匹配。附帶對構建RESTful API的全面支援。

  • pure-是一種輕量級HTTP路由器,堅持使用std“ net / http”實現。

  • siesta -可組合的框架來寫的中介軟體和處理程式。

  • vestigo -用於Go Web應用程式的高效能,獨立的,HTTP相容的URL路由器。

  • violetear-轉到HTTP路由器。

  • XMUX -基於高效能複用器httprouternet/context支援。

  • xujiajun / gorouter -Go的簡單快速HTTP路由器。

視窗

  • d3d9 -Direct3D9的繫結。

  • go-ole -Golang的Win32 OLE實現。

  • gosddl-從SDDL字串轉換為使用者友好的JSON。SDDL由四部分組成:所有者,主要組,DACL,SACL。

XML格式

用於處理XML的庫和工具。

  • XML-Comp-簡單的命令列XML比較器,它生成資料夾,檔案和標籤的差異。

  • xml2map-用Golang編寫的XML到MAP轉換器。

  • xmlwriter-基於libxml2的xmlwriter模組的過程XML生成API。

  • xpath -Go的XPath軟體包。

  • xquery -XQuery使您可以使用XPath表示式從HTML / XML文件中提取資料。

  • zek-從XML生成Go結構。

轉到軟體和外掛。

程式碼分析

  • apicompat-檢查Go專案的最新更改是否存在向後不相容的更改。

  • dupl-程式碼克隆檢測工具。

  • errcheck -Errcheck是用於檢查Go程式中未經檢查的錯誤的程式。

  • gcvis-實時視覺化Go程式GC跟蹤資料。

  • go-checkstyle -checkstyle是樣式檢查工具,例如java checkstyle。此工具的靈感來自java checkstyle golint。該樣式涉及“ Go Code評論註釋”中的某些要點。

  • go-cleanarch-建立go-cleanarch是為了驗證Clean Architecture規則,例如Dependency Rule和Go專案中程式包之間的互動。

  • critic -原始碼linter,它帶來了當前在其他linter中未實現的檢查。

  • go-mod-outdated-查詢Go專案的過時依賴項的簡便方法。

  • 過期 -顯示過期軟體包的控制檯應用程式。

  • goast-viewer-基於Web的Golang AST視覺化工具。

  • GoCover.io-GoCover.io提供任何golang軟體包即服務的程式碼覆蓋率。

  • goimports-自動修復(新增,刪除)Go匯入的工具。

  • GolangCI -GolangCI是針對GitHub拉取請求的自動化Golang程式碼檢查服務。服務是開源的,對於開源專案是免費的。

  • golines-格式化程式,可自動縮短Go程式碼中的長行。

  • GoLint -Golint是Go原始碼的皮特。

  • Golint線上 -使用golint軟體包線上上GitHub,Bitbucket和Google Project Hosting上線上Go原始檔。

  • GoPlantUML-庫和CLI,可生成文字plantump類圖,其中包含有關結構和介面以及它們之間的關係的資訊。

  • goreturns-新增零值返回語句以匹配func返回型別。

  • gosimple -gosimple是Go原始碼的linter,專門研究簡化程式碼。

  • gostatus-命令列工具,顯示包含Go軟體包的儲存庫的狀態。

  • lint -執行棉短絨為不合格測試的一部分。

  • php-parser-用Go編寫的PHP解析器

  • staticcheck -staticcheck go vet用於類固醇,對ReSharper for C#之類的工具應用了大量的靜態分析檢查。

  • tarp -tarp在Go原始碼中查詢沒有直接單元測試的函式和方法。

  • tickgit -CLI和go軟體包,用於顯示程式碼註釋TODO(以任何語言顯示)並應用git blame標識作者。

  • 取消轉換 -從Go原始碼中刪除不必要的型別轉換。

  • unused -未使用的檢查將程式碼用於未使用的常量,變數,函式和型別。

  • validate-使用標籤自動驗證結構欄位。

編輯器外掛

  • JetBrains IDE Go外掛- 用於JetBrains IDE的 Go外掛。

  • go-language- server-將VSCode go副檔名轉換為支援language-server-protocol的語言伺服器的包裝器。

  • go-mode -GNU / Emacs的Go模式。

  • go-plus -Go(Golang)用於Atom的程式包,可新增自動完成,格式設定,語法檢查,整理和稽核。

  • gocode -Go程式語言的自動完成守護程式。

  • goprofiling-此擴充套件在VS Code中新增了對Go語言的基準分析支援。

  • GoSublime-文字編輯器SublimeText 3的Golang外掛集合,提供程式碼完成和其他類似IDE的功能。

  • gounit-vim -Vim外掛,用於基於函式或方法的簽名生成Go測試。

  • theia-go-extension -Theia IDE的Go語言支援。

  • vim-compiler-go -Vim外掛,突出顯示儲存時的語法錯誤。

  • vim- go-用於Vim的Go開發外掛。

  • vscode-go -Visual Studio Code(VS Code)擴充套件,提供對Go語言的支援。

  • Watch -在檔案更改時以極致優勢執行命令。

轉到生成工具

  • generic -Go的靈活資料型別。

  • genny -Go的優雅仿製藥。

  • gocontracts-通過使程式碼與文件同步來使按合同設計成為Go。

  • gotrics -Go中的慣用泛型。

  • gotests-從您的原始碼生成Go測試。

  • gounit-使用您自己的模板生成Go測試。

  • hasgo-為您的切片生成Haskell啟發的函式。

  • re2dfa-將正規表示式轉換為有限狀態機並輸出Go原始碼。

  • TOML-to-Go-在瀏覽器中立即將TOML轉換為Go型別。

去工具

  • colorgo-go用於彩色go build輸出的環繞命令的包裝器。

  • depth -任何包通過分析進口的依賴視覺化樹。

  • gb -Go程式語言的一種易於使用的基於專案的構建工具。

  • generator-go-lang-一個Yeoman生成器,用於啟動新的Go專案。

  • gilbert -Go專案的構建系統和任務執行器。

  • go-callvis-使用點格式視覺化Go程式的呼叫圖。

  • go-james -Go專案框架建立者,無需手動設定即可構建和測試專案。

  • go-pkg-complete -go和wgo的Bash完成。

  • go-swagger - Go的 Swagger 2.0實現。Swagger是RESTful API的簡單但功能強大的表示形式。

  • godbg - Rustsdbg!巨集的實現,可在開發過程中快速輕鬆地進行除錯。

  • gomodrun-執行和快取go.mod檔案中包含的二進位制檔案的Go工具。

  • gothanks -GoThanks自動為您的go.mod github依賴項加註星標,以這種方式向其維護者傳送一些愛意。

  • OctoLinker-使用GitHub的OctoLinker瀏覽器擴充套件可以高效地瀏覽go檔案。

  • richgo-go test使用文字裝飾豐富輸出。

  • rts -RTS:對struct的響應。從伺服器響應生成Go結構。

軟體套件

用Go編寫的軟體。

DevOps工具

  • aptly -適當地是Debian倉庫管理工具。

  • aurora-基於Web的跨平臺Beanstalkd佇列伺服器控制檯。

  • awsenv-小型二進位制檔案,用於為配置檔案載入Amazon(AWS)環境變數。

  • Blast-用於API負載測試和批處理作業的簡單工具。

  • bombardier-快速的跨平臺HTTP基準測試工具。

  • bosun-時間序列警報框架。

  • DepCharge-幫助協調跨大型專案中許多依賴項的命令執行。

  • Dockerfile-Generator-一個go庫和一個可執行檔案,可使用各種輸入通道生成有效的Dockerfile。

  • dogo-監視原始檔中的更改並自動編譯和執行(重新啟動)。

  • drone-jenkins-使用二進位制,泊塢窗或Drone CI觸發下游Jenkins作業。

  • drone-scp-使用二進位制檔案,docker或Drone CI通過SSH複製檔案和工件。

  • Dropship-通過CDN部署程式碼的工具。

  • easyssh-proxy -Golang軟體包,可通過SSH輕鬆進行遠端執行,並通過下載SCP ProxyCommand

  • fac-修復git合併衝突的命令列使用者介面。

  • gaia-使用任何程式語言構建功能強大的管道。

  • Gitea -Gogs的叉子,完全由社群驅動。

  • gitea-github-migrator-將所有GitHub儲存庫,問題,里程碑和標籤遷移到Gitea例項。

  • go- furnace-用Go編寫的託管解決方案。在AWS,GCP或DigitalOcean上輕鬆部署應用程式。

  • go-selfupdate-使Go應用程式能夠自我更新。

  • gobrew-使用 gobrew,您可以輕鬆地在多個版本的go之間切換。

  • godbg-基於Web的gdb前端應用程式。

  • Gogs -Go程式語言中的自託管Git服務。

  • gonative-建立Go的構建的工具,該工具可以交叉編譯到所有平臺,同時仍使用支援Cgo的stdlib軟體包版本。

  • govvv- “構建”包裝器可輕鬆將版本資訊新增到Go二進位制檔案中。

  • gox-簡單易用,沒有多餘的裝飾可進行交叉編譯的工具。

  • goxc -Go的構建工具,著重於交叉編譯和打包。

  • grapes-輕量級工具,旨在通過ssh輕鬆分發命令。

  • GVM -GVM提供了管理Go版本的介面。

  • hey -嘿,這是個很小的程式,它將一些負載傳送到Web應用程式。

  • jcli -Jenkins CLI使您可以輕鬆管理Jenkins。

  • kala-簡單,現代和高效的工作計劃程式。

  • kcli-用於檢查kafka主題/分割槽/訊息的命令列工具。

  • kubernetes -Google的Container Cluster Manager。

  • lstags-用於在不同登錄檔之間同步Docker映像的工具和API。

  • lwc -UNIX wc命令的實時更新版本。

  • manssh -manssh是用於輕鬆管理ssh別名配置的命令列工具。

  • Moby-容器生態系統的協作專案,用於組裝基於容器的系統。

  • Mora-用於訪問MongoDB文件和後設資料的REST伺服器。

  • ostent-收集並顯示系統指標,並可選地中繼到Graphite和/或InfluxDB。

  • Packer -Packer是一個工具,可從一個源配置為多個平臺建立相同的機器映像。

  • Pewpew-靈活的HTTP命令列壓力測試儀。

  • Pomerium -Pomerium是一個身份識別訪問代理。

  • rodent -齧齒動物可幫助您管理Go版本,專案和跟蹤依賴關係。

  • s3- proxy-具有GET,PUT和DELETE方法和身份驗證(OpenID Connect和基本身份驗證)的S3代理。

  • s3gof3r-小型實用程式/庫,經過優化,可用於將大型物件高速傳輸到Amazon S3和從Amazon S3傳出。

  • Scaleway- cli-從命令列管理BareMetal伺服器(與Docker一樣容易)。

  • script -輕鬆在Go中為DevOps和系統管理任務編寫類似shell的指令碼。

  • sg一組HTTP端點(例如ab)進行基準測試,並可以根據其先前的響應,在每次呼叫之間使用響應程式碼和資料來處理特定的伺服器壓力。

  • skm -SKM是一個簡單而強大的SSH金鑰管理器,它可以幫助您輕鬆管理多個SSH金鑰!

  • StatusOK-監視您的網站和REST API。當伺服器關閉或響應時間超出預期時,通過Slack,電子郵件獲得通知。

  • terraform-provider-openapi -Terraform提供程式外掛,可在執行時根據包含公開API定義的OpenAPI文件(以前稱為swagger檔案)動態配置自身。

  • traefik-反向代理和負載平衡器,支援多個後端。

  • uTask-自動化引擎,用於建模和執行yaml中宣告的業務流程。

  • Vegeta -HTTP負載測試工具和庫。超過9000!

  • webhook-工具,允許使用者建立在伺服器上執行命令的HTTP端點(掛鉤)。

  • login -使用Golang的團隊基於Web的IDE。

  • winrm-cli-在Windows計算機上遠端執行命令的Cli工具。

其他軟體

  • borg -bash片段的基於終端的搜尋引擎。

  • boxed -基於Dropbox的部落格引擎。

  • Cherry -Go中的微型網聊伺服器。

  • circuit -電路是可程式設計的平臺即服務(PaaS)和/或基礎架構即服務(IaaS),用於管理,發現,同步和編排包含雲應用程式的服務和主機。

  • Comcast-模擬不良的網路連線。

  • confd-使用來自etcd或consul的模板和資料來管理本地應用程式配置檔案。

  • croc-輕鬆安全地將檔案或資料夾從一臺計算機傳送到另一臺計算機。

  • Docker-為開發人員和系統管理員提供分散式應用程式的開放平臺。

  • Documize-整合了SaaS工具中的資料的現代Wiki軟體。

  • dp-通過SDK與區塊鏈進行資料交換,開發人員可以輕鬆訪問DAPP開發。

  • drive -谷歌Drive使用者端的命令列。

  • duplicacy -一種基於無鎖重複資料刪除的跨平臺網路和雲備份工具。

  • gfile-通過WebRTC在沒有任何第三方的情況下在兩臺計算機之間安全地傳輸檔案。

  • Go Package Store-顯示您GOPATH中Go軟體包更新的應用程式。

  • go-peerflix-視訊流洪流客戶端。

  • GoBoy-用Go編寫的Nintendo Game Boy顏色模擬器。

  • gocc -Gocc是用Go編寫的Go編譯器套件。

  • GoDocTooltip -Go Doc網站的Chrome擴充套件,在功能列表中以工具提示的形式顯示功能說明。

  • GoLand-功能齊全的跨平臺Go IDE。

  • Gor -Http流量複製工具,用於實時重放從生產到階段/開發環境的流量。

  • hugo-快速和現代的靜態網站引擎。

  • ide-瀏覽器可訪問的IDE。專為Go而設計。

  • ipe-與GO編寫的Pusher客戶端庫相容的開源Pusher伺服器實現。

  • joincap-用於將多個pcap檔案合併在一起的命令列實用程式。

  • jujucharms -雲無關的業務部署和業務流程-支援EC2,天青,OpenStack的,MAAS多。

  • leaps -使用操作轉換來配對程式設計服務。

  • lgo-使用Jupyter進行互動式Go程式設計。它支援程式碼完成,程式碼檢查和100%Go相容性。

  • limetext -Lime Text是一款功能強大且美觀大方的文字編輯器,主要是在Go中開發的,旨在成為Sublime Text的免費開源軟體後繼產品。

  • LiteIDE -LiteIDE是一個簡單的,開源的,跨平臺的Go IDE。

  • mockingjay-偽造的HTTP伺服器和消費者驅動的合同來自一個配置檔案。您還可以隨機使伺服器行為不當,以幫助進行更實際的效能測試。

  • myLG-用Go語言編寫的命令列網路診斷工具。

  • naclpipe-用Go語言編寫的基於NaCL EC25519的簡單加密管道工具。

  • nes-用Go編寫的Nintendo Entertainment System(NES)模擬器。

  • orange- cat-用Go編寫的Markdown預覽器。

  • Orbit-執行命令並從模板生成檔案的簡單工具。

  • peg -Peg,解析表示式語法,是Packrat解析器生成器的實現。

  • restic-對備份程式進行重複資料刪除。

  • scc -Sloc Cloc and Code,一個非常快速,準確的程式碼計數器,具有複雜度計算和COCOMO估計。

  • Seaweed檔案系統 -具有O(1)磁碟查詢功能的快速,簡單和可擴充套件的分散式檔案系統。

  • shell2http-通過http伺服器執行shell命令(用於原型製作或遠端控制)。

  • snap-強大的遙測框架。

  • Snitch-當有人通過Tsuru部署任何應用程式時,通知您的團隊和許多工具的簡單方法。

  • Stack Up -Stack Up,一個非常簡單的部署工具-僅限於Unix-將其視為伺服器網路的“ make”。

  • syncthing -開放,分散的檔案同步工具和協議。

  • term-quiz -終端機測驗。

  • toxiproxy-模擬網路和系統條件以進行自動化測試的代理。

  • tsuru-可擴充套件的開源平臺即服務軟體。

  • vFlow-高效能,可擴充套件且可靠的IPFIX,sFlow和Netflow收集器。

  • wellington -Sass專案管理工具,通過sprite函式(例如Compass)擴充套件了語言。

在哪裡發現新的Go庫。

基準測試

會議活動

電子書

地鼠

聚會

在此處新增您所在城市/國家/地區的組(傳送PR

社交媒體

推特

Reddit

網站

講解

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章