Extreme Thinking
GO 的資源

2022-02-28


簡繁轉換後的資訊

【導讀】:awesome-go 就是 avelino 發起維護的 Go 資源清單,內容包括:音訊和音樂庫、命令列工具、服務端應用、流處理、持續集成、資料庫、機器學習、NLP、物聯網、中介軟體、文本處理、安全、機器人技術等。

這個列表堪稱最全面的 Go 資源匯總,在 GitHub 已有近 6 萬 Star

中文版由開源前哨Go開發大全微信公號團隊維護更新,在 GitHub 已有近3100 Star,歡迎在 Github 上關注。這個中文版的資源庫會定期同步更新到這裡。

本專案的參與者

注:名單不分排名,不定期補充更新

資源列表

音訊和音樂庫

  • flac : 原生Go語言編寫的FLAC資料流程編碼與解碼器。
  • gaad : 原生Go語言編寫的AAC位元流解析器。
  • go-sox : libsox庫的go語言封裝
  • GoAudio : 原生Go語言編寫的音訊處理庫。
  • gosamplerate : libsamplerate庫的Go語言封裝
  • id3v2 :go語言開發的ID3編碼和解碼庫,具有快速和穩定的特性。
  • malgo :go語言開發的迷你音訊庫。
  • minimp3 : 羽量級MP3解碼庫。
  • mix : 針對音樂類應用程式的基於序列的Go原生音訊混音器。
  • mp3 : 原生Go語言的mp3解碼器.
  • music-theory : 基於go語言音樂理論模型。
  • Oto : 可用於在多個平臺上播放音訊的底層庫
  • PortAudio : 音訊I/OPortAudiogo語言封裝
  • portmidi : 音訊I/OPortMidigo語言封裝
  • vorbis : Go語言版Vorbis解碼器(使用到CGO,但並不依賴與cgo)
  • waveform : 基於音訊流來生成音訊波形圖的go語言庫

    認證和OAuth授權

  • authboss : 針對web應用的模組化認證系統,儘量去除模版代碼和硬編碼來以靈活可配置的方式來嵌入到web應用程式中,從而避免重複編碼和重複配置。
  • branca : Branca TokensGolang實現。
  • casbin : 支援ACLRBACABAC等存取控制模型的授權與認證庫。
  • cookiestxt : 支持cookies.txt 檔案格式的解析器。
  • go-email-normalizer : 用於支援電子郵寄地址的規範表示的Golang庫,。
  • go-guardian : Go-Guardian支援以簡潔又清晰的方式來進行API認證和web認證,認證模型支援LDAPBasicBearer token和基於證書的認證
  • go-jose : 相當完整地實現了JOSE工作組的JSON Web TokenJSON Web SignaturesJSON Web Encryption規範。
  • go-oauth2-server : 不需要其他依賴的、符合規範的、用Golang 編寫的OAuth2 伺服器。
  • gologin : 適用於OAuth1和OAuth2多身份登錄認證的實現方案
  • gorbac : Golang中一個羽量級的基於角色的存取控制(RBAC)實現。
  • goth : 以簡單、乾淨、常用的方式來使用OAuthOAuth2。支持多種身份認證。
  • httpauth : HTTP認證中介軟體
  • jeff : 簡單、靈活、安全、習慣性的Web會話管理,支援可插拔的後端。
  • jwt : 乾淨且易於使用的JSON網路權杖JWT的實現。
  • jwt : 羽量級JSON網路權杖(JWT)庫。
  • jwt : 針對go語言的 安全、簡單、快速的JSON Web Tokens 。
  • jwt-auth : 用於Golang http伺服器的JWT中介軟體,有許多配置選項。
  • jwt-go : -JSON Web Tokens(JWT)的Golang實現。
  • loginsrv : JWT登錄微服務,具有可插拔的後端,如OAuth2 (Github)htpasswdOSIAM
  • oauth2 : 繼承自goauth2。實現了JWT,Google APIs,GCE,GAE的通用OAuth 2.0授權包。
  • osin : Go語言 OAuth2 伺服器庫
  • otpgo : 基於時間的一次性密碼TOTP和基於HMAC 的一次性密碼HOTP庫。
  • paseto : 平臺無關的安全權杖(PASETO)Golang實現。
  • permissions2 : 用於跟蹤使用者、登錄狀態和許可權的庫,依賴安全cookiesbcrypt
  • rbac : 用於Go應用程式的極簡RBAC庫。
  • scope : 在Go中輕鬆管理OAuth2作用域。
  • scs : HTTP伺服器的會話管理器。
  • securecookie : 高效的安全cookie編碼/解碼庫。
  • session : Go 語言會話管理(支援Google App Engine - GAE)
  • sessiongate-go : 使用 SessionGate Redis模組進行 Go會話管理。
  • sessions : 為Go語言HTTP 伺服器開發的非常簡單的、高性能的、高可定制的會話服務
  • sessionup : 簡單而有效的HTTP會話管理和標識庫。
  • sjwt : - 簡單的jwt生成器和解析器。

    機器人相關

    ` 構建和使用機器人的庫`

  • ephemeral-roles : 根據語音頻道成員是否出現來管理臨時角色的機器人。
  • go-chat-bot : 用Go 編寫的IRCSlackTelegram機器人。
  • go-joe : 受 Hubot 啟發,用 Go 編寫的通用型機器人庫。
  • go-sarah : 為聊天服務如LINESlackGitter 等構建機器人的框架。
  • go-tgbot : 由swagger檔、基於會話的路由器和中介軟體生成的純Golang實現的Telegram機器人API封裝。
  • go-twitch-irc : 用於編寫twitch.tv聊天機器人的庫。
  • Golang CryptoTrading Bot : golang實現的基於控制台的加密貨幣交易所交易機器人庫
  • govkbot : 簡單的Go VK機器人庫。
  • hanu : 用於編寫Slack機器人的框架。
  • Kelp : Stellar DEX的官方交易機器人。開箱即用,用Golang編寫,相容中心化交易所和自訂交易策略。
  • margelet : 用於構建Telegram機器人的框架。
  • micha : 封裝Telegram機器人api的Go庫。
  • olivia : 一個用人工神經網路構建的聊天機器人。
  • slacker : 用於創建Slack機器人的簡單易用框架。
  • slackscot : 構建Slack機器人的框架。
  • tbot : Telegram機器人伺服器,其API類似於net/http
  • telebot : 用Go編寫的Telegram機器人框架。
  • telegram-bot-api : 簡單乾淨的Telegram機器人用戶端。
  • Tenyks : 使用RedisJSON進行消息傳遞的面向服務的 IRC機器人。

    命令列工具

    標準 CLI

    用於創建一個標準命令列應用程式的庫

  • 1build : 管理專案專用命令的命令列工具。
  • argparse : 受Pythonargparse模組啟發的命令列參數解析器。
  • argv : 用於分隔使用 bash 的語法的命令列字串並將其作為參數的Go 語言庫,
  • cli : 功能強大,使用簡單的命令列軟體庫,基於Golang 結構體tag實現
  • cli : 一個功能豐富、易於使用的命令列工具包
  • climax : 可以顯示“人臉”的命令替代庫。
  • clîr : 一個簡單而清晰的 CLI 庫,不需要其他依賴。
  • cmd : 擴展了標準flag包,具有支援子命令的特性
  • cmdr : 一個POSIX/GNU風格,類似於getopt的命令列UI的Go庫。
  • cobra : 一個現代化的命令列。
  • commandeer : 開發友好的CLI應用程式:基於結構欄位和標籤設置標誌參數、預設值和用法。
  • complete : 使用 Go 語言編寫的 bash 命令補全工具以及 Go 命令補全工具
  • Dnote : 支援多設備同步的命令列筆記工具。
  • env : 基於tag的結構體環境配置。
  • flag : 簡單而強大的Go命令列選項解析庫,支援子命令。
  • flaggy : 功能強大的flag包,具有出色的子命令支援。
  • flagvar : Go標準標誌包的標誌參數類型集合。
  • go-arg : Go中基於結構體的參數解析。
  • go-commander : 用於簡化 CLI 工作流程的 Go 庫。
  • go-flags : ` GO`命令列選項解析器。
  • go-getoptions : Go 選項解析器,靈感來自 Perl 中靈活性的 GetOpt::Long
  • gocmd : 用於構建命令列應用程式的 Go 庫。
  • hiboot cli : 具有自動配置和依賴注入功能的 cli 應用程式框架。
  • job : 將你的短期命令轉化為長期作業。
  • kingpin : 支援子命令的命令列和標誌位元解析器。
  • liner : 命令行文本解析器
  • mitchellh/cli : 用於實現命令列交互的 Go 語言庫
  • mow.cli : 用於構建命令列程式的工具庫,支援更加精准的標記及選項解析和驗證
  • ops : Unikernel 編輯器和生成器
  • pflag : Go flag套裝軟體的替代品, 實現了POSIX/GNU風格的flags.
  • sand : 用於創建解譯器等工具的簡單API庫。
  • sflags : 基於結構體的 flag 生成器,支援flag, urfave/cli, pflag, cobra, kingpin等其他庫
  • strumt : 用於創建提示鏈的庫。
  • ts : 時間戳記轉換和比較工具。
  • ukautz/clif : 一個小型命令列程式開發框架
  • urfave/cli : 簡單、快速、有趣的、用於構建 Go 語言命令列程式的套裝軟體。
  • wlog : 簡單的日誌介面,具有跨平臺和併發支援等特性
  • wmenu : 為命令列程式提供簡單的功能表結構選項來提供給使用者來進行選擇

    高級控制台UI

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

  • asciigraph : 沒有其他依賴的可以在命令列應用中製作羽量級的ASCII行圖┈┈╭╯的go語言工具包
  • aurora : ANSI 終端顏色,支援 fmt.Printf/Sprintf
  • cfmt : 受bootstrap顏色類啟發的上下文fmt
  • cfmt : 簡單方便的格式化風格化輸出,與fmt庫完全相容
  • chalk : 符合直覺的用於美化命令行輸出的庫
  • colourize : 支援終端輸出帶色彩的ANSI字元。
  • ctc : 非侵入式的跨平臺終端顏色庫,不需要修改列印方法
  • go-ataman : 用於在終端中渲染 ANSI 彩色文本範本的 Go 庫。
  • go-colorable : ` Windows `上使用的可以輸出彩色文本的庫
  • go-colortext : 用於在終端進行多彩文字輸出的庫
  • go-isatty : go語言版本的isatty
  • go-prompt : 受 python-prompt-toolkit 的啟發,用於構建強大的互動式提示符的go語言庫
  • gocui : 極簡的控制台使用者介面創建庫.
  • gommon/color :多樣的命令行文本
  • gookit/color : 格式化終端文本。
  • mpb : 為命令列提供多個進度條的工具
  • progressbar : 適用於各種作業系統的,執行緒安全進度條管理庫。
  • pterm : 在每個平臺上美化控制台輸出的庫,有許多可組合的元件。
  • simpletable : 在終端中用Go實現簡單的表格。
  • tabby : 超級簡單的Golang表格的庫。
  • table : 基於終端顏色的表格庫。
  • tabular : 從命令列工具中列印ASCII表格,而不需要向API傳遞大量資料集。
  • termbox-go : Termbox是一個用於創建跨平臺文本介面的庫。
  • termdash : 基於 termbox-go Go 終端儀錶盤,靈感來自 termui
  • termui : 基於 termbox-goGo 終端儀錶盤,靈感來源於blessed-contrib
  • uilive : 用於即時更新終端輸出的庫
  • uiprogress :用於渲染進度條的庫
  • uitable : 用於改善命令列中,表格資料可讀性的庫
  • yacspin : 用於終端的CLi Spinner 工具包。

    配置管理

    配置解析庫

  • aconfig : 簡單、有用的配置載入器。
  • cleanenv : 簡約的配置讀取器(從檔、ENV以及任何你想要的地方讀取)。
  • config : 一個羽量級但功能強大的Go專案配置包。
  • config : 雲端本地應用配置。只需兩行就可以將ENV綁定到結構上
  • config : 具有環境變數和標誌解析功能的JSONYAML配置包裝器。
  • configuration : 用於從環境變數、檔、標誌和 “預設 “標籤初始化配置結構的庫。
  • configure : 可以通過多種途徑進行配置,包括 JSON 標記位元以及環境變數
  • configuro : 來自ENVFiles的意見性配置載入和驗證框架,專注於12-Factor相容應用程式。
  • confita : 從多個後端級聯載入配置到一個結構中。
  • conflate : 從任意URL合併多個JSON/YAML/TOML檔的庫/工具,對JSON模式進行驗證,並應用模式中定義的預設值。
  • env : 解析環境變數為 Go 語言結構體
  • envcfg : 解析環境變數為 Go 語言結構體
  • envconf : 通過環境變數來配置
  • envconfig : 通過環境變數讀取配置
  • envh : 管理環境變數的助手
  • fig : 用於從檔和環境變數中讀取配置的小型庫(帶有驗證和預設值)。
  • gcfg : 讀取類似 ` INI ` 類型的設定檔為 Go 語言結構體,支援自訂類型。
  • genv : 通過 dotenv 支援輕鬆讀取環境變數。
  • go-aws-ssm : 從 AWS System Manager - Parameter Store 獲取參數的 Go 包。
  • go-ini : Go 包,可對 INI 檔進行整理和解整理。
  • go-ssm-config : 用於從 AWS SSM(參數存儲)載入配置參數的 Go 工具。
  • go-up : 一個簡單的配置庫,具有遞迴預留位置解析功能,沒有各種怪招。
  • goConfig : 解析一個結構作為輸入,並將命令列、環境變數和設定檔中的參數填充到該結構的欄位中。
  • godotenv : 把 ` Ruby dotenv 庫移植到 Go (從 .env `中載入環境變數)。
  • gofigure : 讓 Go 語言應用程式配置變得簡單
  • gone/jconf : 模組化 JSON 配置工具。允許你將配置參數結構體和使用它的代碼放在一起,而不需要讓主設定檔瞭解所有子模組的細節來進行序列
  • gookit/config : 應用程式配置管理(load,get,set),支援JSON、YAML、TOML、INI、HCL
  • harvester : Harvester,一個易於使用的靜態和動態配置包,支援 envarsConsul 集成。
  • hjson : 便於程式師使用和閱讀的設定檔格式。具有更加輕鬆的語法,更少的錯誤和更多的注釋
  • hocon : 用於使用HOCON(一種人類友好的JSON超集合)格式的配置庫,支援環境變數、引用其他值、注釋和多文件等功能。
  • ingo : 將配置標記持久化到一個類似 ini 的檔中
  • ini : 用於讀寫INI 文件的庫
  • joshbetz/config : 消息配置庫,可以解析環境變數、JSON 檔並根據SIGHUP自動重新載入
  • kelseyhightower/envconfig : 用於管理環境變數配置資料的 Go 庫。
  • koanf : 羽量級、可擴展的庫,用於讀取Go應用程式中的配置。內置支持JSON、TOML、YAML、env、命令列。
  • konfig : 為分散式處理時代的 Go 提供可組合、可觀察和可執行的配置處理。
  • mini : 用於解析類 ini 文件的庫
  • nasermirzaei89/env : 用於讀取環境變數的簡單實用包
  • onion : 基於分層結構的Go配置庫,支援JSON、TOML、YAML、properties、etcd、env以及使用PGP加密。
  • store : ` Go的羽量級配置管理器,支援JSON、TOML、YAML、properties`等。
  • swap : 基於構建環境,遞迴地產生實體/配置結構解析庫。
  • typenv : 簡約、零依賴、類型化的環境變數庫。
  • viper : Go 語言配置工具
  • xdg : 遵守 XDG 標準 的配置工具XDG 標準

    持續集成

    持續集成的輔助工具

  • CDS : 企業級CI/CDDevOps自動化開源平臺。
  • drone : ` Drone 是一個基於 Docker的持續集成平臺,使用 Go `語言編寫
  • duci : 簡單的ci伺服器,不需要特定領域的語言。
  • gomason : 從一個乾淨的工作空間測試、構建、簽署和發佈你的go二進位檔案
  • goveralls : Coveralls.io 是一個持續代碼覆蓋率檢測系統,這個庫提供了 Go 語言的支援
  • overalls : 針對多package Go 語言專案,為 Goveralls 這樣的工具生成覆蓋率報告
  • roveralls : 回歸覆蓋測試工具

    CSS預處理

    預處理css文件的庫

  • gcss : 純 Go 語言編寫的 CSS 前置處理器
  • go-libsass : 100%相容 Sass 的庫 libsass Go 語言封裝

    資料結構

    go語言實現的資料結構與演算法

  • algorithms : 演算法和資料結構學習資料
  • binpacker : 二進位資料封包拆包工具,幫你構建自訂的二進位資料流
  • bit : ` Go `語言集合資料結構。提供了額外的位操作功能
  • bitset : 實現了 bitset Go 語言包.
  • bloom : Go 語言實現的布隆篩檢程式(bloom filter
  • bloom : Go 語言實現的布隆篩檢程式
  • boomfilters : 概率統計資料結構,用於處理大量連續的資料。
  • cmap : 一個用於go的執行緒安全的併發地圖,支持使用interface{}作為鍵
  • concurrent-writer : bufio.Writer的高併發drop-in替代品
  • conjungo : 一個小巧、強大、靈活的合併庫。
  • count-min-log : ` Go 語言實現的 Count-Min-Log sketch `演算法(類似 Count-Min sketch 演算法,但是使用的記憶體更少)
  • crunch : Go包,實現緩衝區,方便處理各種資料類型。
  • cuckoofilter : ` Cuckoo `篩檢程式:一個用go語言實現的計數布隆篩檢程式的替代品
  • deque : 高度優化的雙端佇列。
  • deque : 快速的環形緩衝區 deque(雙端佇列)。
  • dict : Go 的類似 Python 的字典 (dict)
  • encoding : 整型壓縮庫
  • go-adaptive-radix-tree : Go 語言實現的自我調整基數樹
  • go-datastructures:一組有用的、高性能的、執行緒安全的資料結構
  • go-edlib : 與 Unicode 相容的 Go 字串比較和編輯距離演算法庫(Levenshtein、LCS、Hamming、Damerau levenshtein、Jaro-Winkler 等)。
  • go-ef : Elias-Fano編碼的Go實現。
  • go-geoindex : 基於記憶體存儲的地理索引
  • go-mcache : 快速的記憶體key:value存儲/緩存庫。
  • go-rquad : 區域四叉樹,支援有效點位置和領域發現
  • gocache : 完整的Go緩存庫,支援多個存儲(記憶體、memcache、redis......)。
  • goconcurrentqueue : 併發FIFO佇列。
  • gods : Go 語言資料結構、容器、集合、清單、棧、鍵值對、 BidiMaps、樹、HashSet
  • gofal : Go的微分演算法庫。
  • golang-set : 執行緒安全和非執行緒安全的高性能集合
  • goset : ` Go `集合實現。
  • goskiplist : Go語言實現的跳躍表
  • gostl : 資料結構和演算法庫,旨在提供類似於 C++ STL 的功能。
  • gota : 為go語言實現了資料幀,序列以及資料噪音的方法
  • goterator : 反覆運算器的實現,提供映射和減少功能。
  • hide :具有hash 函數功能,以防止向用戶端發送敏感ID`。
  • hilbert : 用於映射空間填充曲線(例如希爾伯特曲線和皮亞諾曲線)和數值的庫。
  • hyperloglog : HyperLogLog 的go語言實現
  • iter : C++ STL反覆運算器和演算法的Go實現。
  • levenshtein : 編輯距離(levenshtein distance)和相似性度量計算庫
  • levenshtein : 在Go中計算levenshtein距離的實現。
  • mafsa : Go 語言實現的 MA-FSA ,包含最小完美雜湊實現
  • merkletree : 實現了梅克爾樹,提供了一種高效、安全的資料結構內容驗證方法
  • mspm : 用於資訊檢索的多字串模式匹配演算法。
  • nan : 在一個庫中實現了零分配的Nullable結構,並提供了方便的轉換函數。
  • null : 可為nullGo類型,它們可以被`marshalled/unmarshalled到JSON。
  • parsefields : - 用於解析JSON類日誌的工具,用於收集特殊欄位和特定事件。
  • pipeline : 一個帶有扇形輸入和扇形輸出的管道的實現。
  • ptrie : 首碼樹的實現
  • remember-go : 用於緩存慢速資料庫查詢的通用介面(由redis、memcached、ristretto或記憶體支援)。
  • ring : 高性能、執行緒安全的 bloom 篩檢程式的 Go 實現。
  • roaring : 實現了壓縮 bitsets 演算法的Go語言庫
  • set : 在 Go 中使用 LinkedHashMap 實現簡單的集合資料結構。
  • skiplist : 非常快的Go Skipipllist實現。
  • skiplist : 在 Go 中實現的 Skiplist
  • slices : slice操作函數
  • timedmap : 具有過期鍵值對的map
  • treap : 使用樹堆的持久化快速有序map
  • trie : Go語言實現的Trie
  • ttlcache : 基於過期時間的記憶體字串緩存介面。
  • typ : 空類型安全的基礎類型轉換器和從複雜結構中取值的開發庫。
  • willf/bloom : 實現了布隆篩檢程式的庫

    資料庫

    go語言實現的資料庫

  • badger : Go中的快速鍵值存儲庫。
  • bbolt : Go的嵌入式鍵值資料庫。
  • bcache : 最終一致的分散式記憶體緩存Go庫。
  • BigCache : 為GB量級資料設計的高效鍵/值緩存
  • Bitcask : Bitcask 是一個用純 Go 編寫的可嵌入的、持久的、快速的鍵值(KV)資料庫,由於採用了 bitcask 盤上佈局(LSM+WAL),它具有可預測的讀/寫性能、低延遲和高輸送量。
  • buntdb : 快速,可嵌入的,記憶體鍵值資料庫,可定義索引及 spatial
  • cache : 記憶體中的key:value存儲,有過期時間,0依賴,<100 LoC,100%覆蓋。
  • cache2go : 基於記憶體存儲的鍵值緩存,支援自動基於超時的自動失效
  • clusteredBigCache : BigCache支持集群和單個專案過期。
  • cockroach : 可擴展的、一致的事務型資料庫
  • Coffer : 簡單的ACID鍵值資料庫,支援事務。
  • couchcache : RESTful 緩存微服務,基於Couchbase資料庫
  • CovenantSQL : CovenantSQL是一個區塊鏈上的SQL資料庫。
  • Databunker : 為符合GDPRCCPA而構建的個人身份資訊PII存儲服務。
  • dgraph : 可擴展的、分散式的、低延時、高吞吐的圖資料庫
  • diskv : 具有 disk-backed 功能的持久化鍵值存儲
  • eliasdb : 無依賴、事物型圖資料庫,支援 REST API、短語搜索以及類 SQL 的查詢語言
  • fastcache : 針對大量條目的快速執行緒安全記憶體緩存。將GC開銷降到最低。
  • GCache : 支持緩存過期、 LFU、 LRU ARC 的緩存庫
  • go-cache : 基於記憶體存儲的緩存,適用於分散式部署的應用
  • goleveldb : GoLevelDB鍵/值資料庫的實現
  • groupcache : ` Groupcache 是一個緩存及緩存填充庫,在很多情況下用於替代 memcached`.
  • immudb : immudb 是一個羽量級、高速的不可變資料庫,適用於用 Go 編寫的系統和應用程式。
  • influxdb : 用於度量、事件和即時分析的可擴展資料存儲。
  • Kivik : KivikCouchDB、PouchDB和類似的資料庫提供了一個通用的GoGopherJS用戶端庫。
  • ledisdb : Ledisdb 是一個高性能 NoSQL 資料庫,類似 Redis
  • levigo : ` LeviGo LevelDBGo `語言封裝
  • moss : ` Moss 是一個簡單的 LSM `鍵值存儲引擎,100% Go 語言實現
  • nutsdb : Nutsdb是一個用純Go編寫的簡單、快速、可嵌入、持久化的鍵/值存儲。它支援完全可序列化的事務和許多資料結構,如清單、集合、排序集合。
  • piladb : 羽量級 RESTful 資料庫引擎,基於堆疊結構
  • pogreb : 嵌入式鍵值存儲,適用於重讀工作負載。
  • prometheus : 監控系統及時間序列資料庫
  • pudge : 使用 Go 的標準庫編寫的快速、簡單的鍵值存儲。
  • rosedb : 一個基於 LSM+WAL 的內嵌 k-v資料庫,支援多種資料結構,如字串、清單、雜湊表、集合、有序集合
  • rqlite : 基於 SQLite 的羽量級的、分散式的關係型數據庫
  • Scribble : 小巧的 JSON 檔存儲
  • slowpoke : 具有持久性的鍵值存儲。
  • tempdb : 臨時資料的鍵值對存儲
  • tidb : ` TiDB 是一個分散式的 SQL 資料庫。受到了 Google F1`的啟發
  • tiedot : 基於 Go 語言的 NoSQL 資料庫
  • unitdb : 用於物聯網、即時消息應用的快速時序資料庫。
  • Vasto : 一個分散式高性能鍵值存儲。在磁片上。最終一致。HA。能夠在不中斷服務的情況下增長或收縮。
  • VictoriaMetrics : 快速、資源高效、可擴展的開源時間序列資料庫。可作為Prometheus的長期遠端存放。支持PromQL。 #### 資料庫遷移工具
  • avro : 發現SQL模式並將其轉換為AVRO模式。查詢SQL記錄到AVRO位元組。
  • darwin : 資料庫模式增量庫
  • go-fixtures : 類似 DjanGo fixtures,用於 Golang 的內建dababase/sql
  • go-pg-migrations : 幫助使用 go-pg/pg 編寫遷移的 Go 包。
  • gondolier : 使用struct裝飾器的資料庫遷移庫。
  • goose : 資料庫遷移工具。你可以通過編寫增量 SQL Go 語言腳本來管理你的資料庫
  • gormigrate : 資料庫模式遷移説明工具,用於 Gorm ORM.
  • migrate : 資料庫遷移。命令列及 Go 語言庫
  • migrator : 簡單的Go資料庫遷移庫。
  • pravasan : 簡單的遷移工具,目前支持 MySQL 但是近期打算支持 Postgres, SQLite, MonGoDB 等等
  • schema : 在你的Go二進位檔案中嵌入資料庫/sql相容資料庫的模式遷移庫。
  • skeema : MySQL的純SQL模式管理系統,支援sharding和外部線上模式變更工具
  • soda : 資料庫遷移、創建、 ORM等等,用於 MySQL, PostgreSQL, 以及 SQLite.
  • sql-migrate : 資料庫遷移工具,允許利用 Go-bindata 將資料庫遷移嵌入應用程式

    資料庫工具

  • bucket : 為Couchbase優化的資料結構框架,專門針對bucket的使用進行了優化。
  • chproxy : ` HTTP代理的ClickHouse`資料庫。
  • clickhouse-bulk : 收集小的插入請求後一併發送大的請求到ClickHouse伺服器。
  • datagen : 快速的資料生成器,支援多表並支援多行DML
  • dbbench : 資料庫基準測試工具,支援多個資料庫和腳本。
  • go-mysql : 用於處理 MySQL 協定及複製的 Go 語言工具集
  • go-mysql-elasticsearch : 將你的 MySQL 資料自動同步到 Elasticsearch
  • kingshard : ` kingshard 是一個Go語言編寫的高性能 MySQL `資料庫代理
  • myreplication : ` MySql 二進位 log` 複製監聽器,支援基於語句和基於行的複製
  • octillery : 用於sharding資料庫的Go包(支援所有ORM或原始SQL)。
  • orchestrator : ` MySQL`複寫拓撲管理器及視覺化工具
  • pg_timetable : PostgreSQL 的高級調度。
  • pgweb : 基於 WebPostgreSQL 資料庫流覽工具
  • prep : 無需更改代碼使用已準備好的 SQL 語句的庫
  • pREST : 為 PostgreSQL 資料庫提供 RESTful API
  • rwdb : rwdb為多個資料庫伺服器的設置提供讀取複製功能。
  • vitess : vitess 提供了能夠使大型 web 服務 MySQL 資料庫的擴展變得更加容易的伺服器及工具

    SQL 查詢語句構建庫

  • buildsqlx : 針對PostgreSQLGo資料庫查詢構建庫。
  • dbq : Go的資料庫操作庫。
  • Dotsql : Go語言庫,説明你將 sql 檔保存在一個地方並且方便的取用
  • gendry : 非侵入式SQL構建器和強大的數據綁定器。
  • godbal : Go的資料庫抽象層(dbal)。支援SQL構建器,並能輕鬆獲得資料庫結果。
  • goqu : 地道的 SQL 語句創建器和查詢庫
  • gosql : 具有更好的空值支持的SQL查詢生成器。
  • igor : PostgreSQL 的抽象層,支援高級功能以及類 Gorm 的語法
  • jet : 在 Go 中編寫類型安全的 SQL 查詢框架,能夠輕鬆地將資料庫查詢結果轉換為所需的任意物件結構。
  • mpath : 用於 SQL 記錄的 MPTT (Modified Preorder Tree Traversal) 包 - 實物化路徑的實現
  • ormlite : 羽量級套裝軟體,包含一些類似於ORM的功能,以及針對sqlite資料庫的説明程式。
  • ozzo-dbx : 強大的資料檢索方法以及與DB無關的查詢構建能力。
  • qry : 從帶有原始SQL查詢的檔中生成常量的工具。
  • sq : 適用于Go的類型安全SQL構建器和結構映射器。
  • sqlf : 快速的SQL查詢構建器。
  • sqlingo : 在 Go 中構建 SQL 的羽量級 DSL
  • sqrl : SQL 查詢創建器,是 Squirrel 的一個分叉版本,進行了性能方面的優化
  • Squalus : ` Go SQL`包的薄層,使其更容易執行查詢。
  • Squirrel : 一個幫助你構建 SQL 查詢的庫
  • xo : 基於已知的資料庫表或自訂查詢生成地道的 Go 語言代碼,支援 PostgreSQL, MySQL, SQLite, Oracle, 以及 Microsoft SQL Server.

    資料庫驅動

    連接和操作資料庫工具

  • 關係型數據庫
    • avaticaApache Phoenix/Avatica SQL 驅動
    • bgc : 資料庫連接工具包,用於通過 Go 語言訪問 BigQuery
    • firebirdsql : Firebird RDBMS SQL 驅動
    • go-adodb : Microsoft ActiveX 物件資料庫驅動
    • go-mssqldb : 適用於Go的Microsoft MSSQL驅動。
    • go-oci8 : ` Oracle `驅動
    • go-sql-driver/mysql : Go 語言 MySQL驅動
    • go-sqlite3 : Go 語言的 SQLite3 驅動
    • gofreetds : Microsoft MSSQL 驅動。 FreeTDS的go語言封裝
    • FreeTDS : Microsoft MSSQL驅動。是FreeTDS的Go封裝器。
    • goracle : 用於 Go Oracle 驅動程式,使用 ODPI-C 驅動程式。
    • pgx : PostgreSQL 驅動,支持比 database/sql 更多的特性
    • pq : 用於database/sqlPure Go Postgres驅動。
    • Sqinn-Go : 純Go的SQLite驅動。

  • NoSQL資料庫
    • aerospike-client-go : Go語言的Aerospike用戶端。
    • arangolite : ArangoDB的羽量級golang驅動
    • asc : 用於Aerospike for go的資料存儲連接。
    • dynago : DynagoDynamoDB 的用戶端。
    • forestdb : ForestDBGo語言封裝
    • go-couchbase : Go 語言 Couchbase 用戶端
    • go-pilosa : 用於Pilosa的Go用戶端庫。
    • go-rejson : RedislabsReJSON 模組的 Golang 用戶端,使用 Redigo golang 用戶端。在redis中輕鬆地將結構體作為JSON物件進行存儲和操作。
    • gocb : Couchbase Go官方SDK。
    • gocql : Apache Cassandra 的 Go 語言驅動
    • godis : 由 golang 實現的 redis 用戶端,靈感來自 jedis
    • godscache : Google Cloud Platform Go Datastore包的封裝器,使用memcached增加緩存。
    • gomemcache : Go程式設計語言的memcache用戶端庫。
    • gorethink : RethinkDB的Go語言驅動。
    • goriak : Riak KVGo 語言驅動
    • mgm : 用於 Go 的基於 MongoDB 模型的 ODM(基於官方 MongoDB 驅動程式)
    • mgo : MonGoDB 驅動,通過簡單的 API 現了豐富的、經過測試的特性,這些 API 遵循 Go 語言的習慣
    • mongo-go-driver : Go語言的官方MongoDB驅動。
    • neo4j : ` Neo4j Rest API Go` 語言介面
    • Neo4j-GO : ` Go 語言實現的 Neo4j REST `用戶端
    • neoism : Go 語言 Neo4j 用戶端
    • qmgo : Go的MongoDB驅動。它基於官方的MongoDB驅動,但和Mgo一樣更容易使用。
    • redeo : RedigoRedis資料庫的Go用戶端。
    • redigo : ` RediGo Redis 資料庫的Go` 語言用戶端.
    • redis : 相容Redis協定的 TCP 伺服器/服務.
    • xredis : 類型安全的、可定制的、簡潔易用的 Redis 用戶端

  • 搜尋引擎和文本資料庫
    • bleve : 現代文本索引庫
    • elastic : ` Go 語言的 Elasticsearch `用戶端
    • elasticsql sql 轉換為 elasticsearch dsl
    • elastigo : ` Elasticsearch `用戶端庫
    • go-elasticsearch : Go的官方Elasticsearch用戶端。
    • goes : 用於和 Elasticsearch 交互的庫
    • riot : Go開源,分散式,簡單高效的搜尋引擎。
    • skizze : 概率資料結構服務和存儲。
  • 多個後端:
    • cachego : Golang Cache組件,支援多個驅動。
    • cayley : 支援多個後端的圖形資料庫。
    • dsc : ` SQL、NoSQL`、結構化檔的資料存儲連接。
    • gokv : 為go(Redis、Consul、etcd、bbolt、BadgerDB、LevelDB、Memcached、DynamoDB、S3、PostgreSQL、MongoDB、CockroachDB等)提供簡單的鍵值存儲抽象和實現。

      日期和時間

      用於處理日期和時間的庫

  • carbon : 簡單的時間擴展程式,有很多有用的方法,是 PHP Carbon 庫的介面
  • cronrange : 解析Cron風格的時間範圍運算式,檢查給定時間是否在任何範圍內。
  • date : 增強了Time的功能,用於處理日期、日期範圍、時間跨度、時間段和日期時間。
  • dateparse : 在不知道格式的情況下解析日期。
  • durafmt : 持續時間格式化
  • feiertage : 一組計算德國公共假期的函數,比如復活節、感恩節等
  • go-persian-calendar : - 太陽曆
  • go-str2duration : 將字串轉換為持續時間。支持time.Duration返回字串等。
  • go-sunrise : 計算指定地點的日出和日落時間。
  • go-week : 處理星期的庫
  • iso8601 : 有效地解析ISO8601日期時間,而無需使用regex
  • kair : 日期和時間 - Golang 格式化庫。
  • now : Now 是一個 Go 語言的時間工具集
  • NullTime : -時間可以是 NULL 的庫
  • strftime : C99相容的strftime格式化器。
  • timespan : 用於與時間間隔交互,定義為開始時間和持續時間
  • timeutil : 為 Go 語言時間包擴展了有用的功能,例如時間間隔和格式化
  • tuesday : Ruby相容的Strftime函數。

    分散式系統

  • arpc : 更有效的網路通信,支援雙向呼叫、通知、廣播。
  • celeriac : 利用 Go 語言對Celery workerß任務事件進行交互和監控的庫
  • consistent : 有限負載的一致雜湊演算法庫。
  • consistenthash : 使用可配置的副本實現一致的雜湊。
  • dht : ` BitTorrent Kademlia DHT `的實現。
  • digota grpc電子商務微服務。
  • dot : 使用操作轉換/OT的分散式同步庫。
  • doublejump : 改版後的Google的跳轉一致雜湊。
  • dragonboat : Go中一個功能完整且高性能的多組Raft庫。
  • drmaa : 集群調度工具的任務提交庫,基於標準 DRMAA
  • dynamolock : DynamoDB支持的分散式鎖的實現。
  • dynatomic : 將 DynamoDB 作為原子計數器使用的庫。
  • emitter-io : 使用 MQTT、Websocketslove 構建的高性能、分散式、安全和低延遲的發佈-訂閱平臺。
  • flowgraph : 基於流的程式設計包實現的MPI 風格的讀取,發送協同層;
  • gleam : 快速、可擴展的分散式 map/reduce 系統,使用純 Go 語言和 Luajit 編寫,融合了 Go 語言的高併發能力和 Luajit 的高性能,可以獨立或分散式部署運行。
  • glow : 易於使用的可擴展的分散式大資料處理、Map-Reduce、DAG執行,全部用純Go編寫。
  • gmsec : Go分散式系統開發框架。
  • go-health : 用於在服務中啟用非同步依賴性健康檢查的庫。
  • go-jump : Google "Jump" 一致性雜湊函數的介面
  • go-kit : 為服務工具吧,支援服務發現、負載均衡 、可插拔傳輸以及請求追蹤等
  • go-micro : 一個分散式系統開發框架。
  • go-mysql-lock : 基於MySQL的分散式鎖。
  • 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 : 面向雲計算及其他領域的分散式系統運行時。
  • NATS : 羽量級、高性能微服務系統,用於微服務、物聯網以及雲
  • outboxer : ` Outboxer是一個實現outbox模式的go`庫。
  • pglock : PostgreSQL支持的分散式鎖的實現。
  • raft : Raft 共識協議的 Golang 實現,由 HashiCorp.開發。
  • raft : ` Raft 共識協議的 Go 實現,由 CoreOS` 提供。
  • rain : BitTorrent用戶端和庫。
  • redis-lock : 使用Redis實現的簡化的分散式鎖。
  • resgate : 用於構建 REST、即時和 RPC API 的即時 API 閘道,所有用戶端都可以無縫同步
  • ringpop-go : 為Go應用提供可擴展、容錯的應用層分片。
  • rpcx : rpcx是一個類似阿裡巴巴 Dubbo 和微博 Motan 的分散式的 RPC 服務框架
  • Semaphore : 直接的(微)服務協調器。
  • sleuth : 在 HTTP 服務之間進行無主 p2p 自動發現和 RPC通信(使用 ZeroMQ
  • tendermint : 使用Tendermint 一致性及區塊鏈協議的高性能的中介軟體,用於將任何語言編寫的狀態機轉換為一個拜占庭容錯狀態機,
  • torrent : BitTorrent 用戶端

    動態DNS

    更新動態dns記錄的庫和工具

  • DDNS : 以digital ocean DNS為後臺的個人DDNS用戶端。
  • dyndns : 後臺Go進程,定期自動檢查您的IP位址,並在您的位址發生變化時更新(一個或多個)穀歌功能變數名稱的動態DNS記錄。
  • GoDNS : 用Go編寫的動態DNS用戶端工具,支援DNSPodHE.net

    郵件庫

    郵件管理和發送的go語言庫

  • chasquid : 用Go編寫的SMTP伺服器。
  • douceur : HTML 郵件中的內聯 CSS
  • email : 健壯的、靈活的 email
  • go-dkim : DKIM 庫,用於對 email 進行簽名和驗證
  • go-imap : ` IMAP` 庫,用於用戶端和伺服器
  • go-message : 用於互聯網消息格式和郵件的庫
  • go-premailer : 在Go中為HTML郵件提供線上樣式。
  • go-simple-mail : go語言實現的基於簡單smtp協議的郵件發送庫
  • Hectane : 羽量級 SMTP 用戶端,提供 HTTP API
  • hermes : 一個用於生成乾淨、響應式 HTML e-mail 的包
  • mailchain : 用go寫的用於發送加密郵件到區塊鏈地址的郵件庫
  • mailgun-go : 使用Mailgun API發送郵件的Go庫。
  • MailHog : EmailSMTP 測試工具,具有 web 及 API 介面
  • SendGrid : ` SendGrid `的 Go 語言庫,用於發送電子郵件
  • smtp : SMTP 伺服器協定狀態機

    指令碼語言與嵌入式程式設計

    在你的go代碼中嵌入其他指令碼語言

  • anko : Go 語言編寫的解譯器
  • binder : 基於gopher-lua的go語言Lua 介面,
  • cel-go : 快速、可移植、非圖靈完全運算式評估和漸進分型。
  • expr : ` Go` 的運算式評估引擎,具有快速、非圖靈完備、動態類型化、靜態類型化的特性。
  • gentee : 可嵌入腳本程式設計語言。
  • gisp : Go中的簡單LISP
  • go-duktape : ` GoDuktape JavaScript`引擎封裝。
  • go-lua : ` Lua 5.2 `虛擬機器的純 Go 語言介面
  • go-php : PHP Go 語言介面
  • go-python : CPython C-API Go 語言介面
  • goja : 在 Go 中實現 ECMAScript 5.1(+)
  • golua : lua C APIGo 語言介面。
  • gopher-lua : ` Go 語言編寫的 Lua 5.1` 虛擬機器和編譯器
  • gval : Go編寫的高度可定制的運算式語言。
  • ngaro : 可嵌入的Ngaro虛擬機器實現,可在Retro中編寫腳本。
  • purl : 嵌入 Go 語言的 Perl 5.18.2
  • tengo : ` Go `的位元組碼編譯指令碼語言。

    錯誤處理

    go 語言錯誤處理庫

  • emperror : ` Go`庫和應用程式的錯誤處理工具和最佳實踐。
  • eris : 在Go中處理、跟蹤和記錄錯誤的更好方法。與標準錯誤庫和 github.com/pkg/errors 相容。
  • errlog : 用於確定錯誤的責任原始程式碼(以及其他一些快速調試功能,可以嵌入到任何的日誌服務中。
  • errors : 標準庫錯誤包和 github.com/pkg/errors 的替代包。提供各種錯誤處理單元。
  • errors : 提供簡單錯誤處理單元的包。
  • errors : 簡單的 golang 錯誤處理包。
  • errors : 最簡單的錯誤封裝器,性能卓越,記憶體開銷最小。
  • errors : 最小的錯誤處理包,具有自訂錯誤類型等特性
  • errorx : 功能豐富的錯誤處理包,包括堆疊資訊獲取、錯誤組成分析等
  • Falcon : 簡單但功能強大的錯誤處理包。
  • go-multierror : 用於將錯誤清單表示為單個錯誤的包
  • tracerr : 帶有堆疊跟蹤和源片段的Golang錯誤處理包。

    文件處理

    處理檔和檔案系統操作的庫

  • afero : ` go`語言編寫的對檔案系統進行抽象的系統框架
  • afs : 適用於 Go 的抽象檔存儲。
  • baraka : 用於輕鬆處理 http 文件上傳的庫。
  • bigfile : 檔案傳輸系統,支援用http api、rpc調用和ftp用戶端管理文件。
  • checksum : 計算大檔的資訊摘要,如MD5SHA256
  • copy : 遞迴複製目錄。
  • flop : 檔操作庫,目的是與 GNU cp進行鏡像。
  • go-csv-tag : 使用 tag 導入 csv
  • go-decent-copy : 檔複製功能庫。
  • go-exiftool : 為ExifTool提供綁定服務,ExifTool是一個著名的庫,用於從檔(圖片、PDF、office…)中提取盡可能多的中繼資料
  • go-gtfs : 用go載入gtfs
  • gut/yos : 簡單可靠的檔操作包,支援對檔、目錄和符號連結的copy/move/diff/list
  • notify : 類似 os/signal的檔案系統提示庫,具有簡單的 API.
  • opc : 為 Go 載入 Open Packaging Conventions (OPC)
  • parquet : 讀取和寫入parquet 文件。
  • pdfcpu : PDF 處理器。
  • skywalker : 允許你簡單方便的併發流覽檔案系統
  • stl : 讀取和寫入STL檔的模組,採取併發的讀取演算法。
  • tarfs : 為 tar 檔實現的檔案系統介面
  • todotxt todo.txt檔的go語言解析器。
  • vfs : 適用於 Go 的多個檔案系統類型,如 os、S3 GCS的可插拔、可擴展的檔案系統功能庫。

    金融領域相關庫

    處理貨幣與金融領域的庫

  • accounting : Go語言金錢及貨幣格式
  • currency : 處理貨幣金額,提供貨幣資訊和格式。
  • currency : 高性能、精確的貨幣計算包。
  • decimal : 支持任意精度的十進位數字的go包
  • fastme : Go實現的 快速可擴展的匹配引擎 。
  • go-finance : Go中的綜合金融市場資料。
  • go-finance : 用於貨幣時間價值(年金)、現金流、利率轉換、債券和折舊計算的金融函式程式庫。
  • go-finance : 用於獲取匯率、通過VIES查詢增值稅號和查詢IBAN銀行帳號的模組。
  • go-finnhub : 來自finnhub.io的股市、外匯和加密資料用戶端。訪問來自60多家證券交易所、10家外匯經紀商和15家以上加密交易所的即時金融市場資料。
  • go-money : Fowler's Money模式的實現。
  • ofxgo : 查詢 OFX 伺服器並解析其響應 (有一個示例的命令列用戶端)
  • orderbook : Golang中的限價訂單簿的匹配引擎。
  • techan : 具有高級市場分析和交易策略的技術分析庫。
  • transaction : 以多執行緒模式運行的嵌入式的帳戶交易資料庫,。
  • vat : VAT 驗證及歐洲增值稅率工具

    表單

    表單解析與綁定

  • bind : 可以表單數據綁定到任意的 Go 變數上
  • binding : 將來自 net/HTTP 請求的表單、JSON 資料綁定到結構體
  • conform : 檢查使用者輸入並基於結構標籤來清理資料
  • form : 解碼 url 中的資料到 Go 語言變數中以及將 Go 語言變數編碼進 url
  • formam : 將表單數據解碼到結構體
  • forms : 框架無關的表單/JSON資料解析驗證庫,支援多部分表單及檔
  • gorilla/csrf : 為 Go 語言 web 應用提供 CSRF 防禦
  • nosurf : CSRF 防禦中介軟體
  • qs : 用於將結構體編碼為 URL 查詢參數的 Go 模組
  • queryparam : 將 url.Values 解碼為標準或自訂類型的可用結構體值。

    函數式程式設計

  • fpGo : Golang中的單項式函數式程式設計功能
  • fuego : Go中實驗室的函數式程式設計。
  • go-underscore : Go函數式集合工具。

    遊戲開發

  • Azul3D : Go 語言編寫的 3D 遊戲引擎
  • Ebiten : Go 語言編寫的簡單的 2D 遊戲庫
  • engo : ` EnGo 是一個開源的 2D `遊戲引擎,遵循實體-元件-系統範式
  • g3n : Go 3D遊戲引擎。
  • go-astar : A*路徑查找演算法的Go實現。
  • go-sdl2 : Simple DirectMedia LayerGo封裝。
  • go3d : 專注性能的 2D/3D 數學庫
  • gonet : Go 語言實現的遊戲伺服器框架
  • goworld : 可擴展的遊戲伺服器引擎。
  • Leaf : 羽量級遊戲伺服器框架
  • nano : 基於golang的羽量級、設施、高性能的遊戲伺服器框架。
  • Oak : go遊戲引擎。
  • Pitaya : 可擴展的遊戲伺服器框架,支持集群,並通過C SDKiOS、Android、Unity等提供用戶端庫。
  • Pixel :2D 遊戲引擎庫
  • prototype : 跨平臺(Windows/Linux/Mac)庫,可利用最小的API創建桌面遊戲。
  • raylib-go : raylib的 Go 語言介面,簡單、易用的用於學習遊戲程式設計的庫
  • raylib : raylib的Go綁定,一個簡單易用的電子遊戲程式設計學習庫。
  • termloop : 終端遊戲引擎,基於 Termbox
  • tile : 面向資料和緩存友好的 2D 網格庫 (TileMap)。

    代碼生成與泛型

  • efaceconv : 代碼生成工具,用於高效的將 interface{} 轉換為不可變類型,並且不需要進行任何記憶體分配
  • gen : 代碼生成工具,用於提供類似泛型的功能
  • generis : 提供泛型、自由形式宏、條件編譯和 HTML 範本化的代碼生成工具。
  • go-enum : 從代碼注釋中生成enums代碼。
  • go-linq : 類似.NET LINQGo查詢方法。
  • go-xray : 使反射的使用更加簡單的助手。
  • goderive : 從輸入類型匯出函數。
  • gotype : Golang 原始程式碼解析,用法類似于 reflect 包。
  • GoWrap : 使用簡單的範本為 Go 介面生成裝飾器。
  • interfaces : 命令列工具,用於生成介面定義
  • jennifer : 不適用範本生成任意 Go 語言代碼
  • pkgreflect : 用於包作用域反射的 Go 語言前置處理器
  • typeregistry : 用於動態創建類型的庫。

    位置資訊與地理GEO處理庫

  • geocache : 記憶體緩存,適用於基於地理位置的應用。
  • geoserver : 用於通過GeoServer REST API操縱GeoServer實例的Go包。
  • gismanager : 將你的GIS資料(向量資料)發佈到PostGISGeoserver的庫。
  • mbtileserver : 簡單的基於Go的伺服器,用於存儲mbtiles格式的地理資訊。
  • osm : 用於讀取、寫入和處理OpenStreetMap資料和API的庫。
  • pbf : ` OpenStreetMap PBF golang`編碼器/解碼器。
  • S2 geojson : 將geojson轉換為S2儲存格,並在地圖上演示一些S2幾何特徵。
  • S2 geometry : Go中的S2幾何庫。
  • Tile38 : 具有空間索引和即時地理圍欄的地理位置資料庫。
  • WGS84 : 座標轉換和變換的庫(ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)。
  • c4go : 將 C 代碼轉換為go代碼。
  • f4go : 將 FORTRAN 77 代碼轉為 Go 代碼。
  • gopherjs : 把 Go 編譯為 JavaScript.
  • llgo : 基於 LLVM Go 語言編譯器
  • tardisgo : Golang轉換為 Haxe 進而轉換為 CPP/CSharp/Java/JavaScript 的編譯器.

    Goroutines

    goroutines的管理和使用

  • ants : 高性能和低消耗的goroutine池。
  • artifex : Golang 的簡單記憶體作業佇列,使用基於worker的調度策略。
  • async : Go 的另一個同步庫(Future, Promise, Locks)。
  • async : 安全的非同步函數執行的方式,支援在出現pannic的情況下恢復它們。
  • breaker : 採用了一種可以使執行流可中斷的靈活的機制的包。
  • channelify : 將你的函數轉化為返回管道,以實現簡單而強大的並行處理。
  • conexec : 一個併發工具包,幫助你以一種高效和安全的方式併發執行函數。它支援指定整體超時以避免阻塞,並使用goroutine池來提高效率。
  • cyclicbarrier : - golangCyclicBarrier
  • go-floc : 輕鬆編排 Go 語言協程
  • go-flow : 控制 Go 語言協程的執行順序
  • go-tools/multithreading : 使用這個羽量級的庫和簡單的 API 來管理 goroutine 池。
  • go-trylock : 支持 Golang 的讀寫鎖的 TryLock.
  • go-waitgroup : - 類似 sync.WaitGroup 的錯誤處理和併發控制。
  • goccm : Go 併發管理包,限制了允許併發運行的 goroutine 的數量
  • gohive : 高性能且易於使用的goroutine池。
  • gollback : 非同步簡單函數工具,用於管理閉包和回檔的執行
  • goworker : Goworker 是一個基於 Go 語言的後臺worker
  • gowp : - gowp 是限制併發量的 goroutine 池。
  • gpool : 管理一個可調整大小的上下文感知的goroutine池,並以這種方式來約束併發量。
  • grpool : 羽量級Goroutine池。
  • hands : 用於控制多個goroutine的執行和返回策略的進程控制器。
  • Hunch : Hunch提供的功能有。All、First、Retry、Waterfall等功能,讓非同步流控制更加直觀。
  • kyoo : 提供了一個無限的作業佇列和併發的工作池。
  • neilotoole/errgroup : ` sync/errgroup的替代方案,限於N個worker goroutine`池。
  • nursery : Go中的結構化併發
  • oversight : versight Erlang 監督樹的完整實現。
  • parallel-fn : 並存執行函數。
  • pond : 在 Go 中編寫的最小化和高性能的 goroutine 工作池。
  • pool : 便於goroutine處理和取消的有限的消費者goroutine池或無限的goroutine池,
  • queue : 類似於sync.WaitGroup的佇列包。幫助你控制和等待goroutine的執行,比如等待所有goroutine的結束等等。
  • routine : 利用contextgo routine實現。
  • semaphore : 基於管道和上下文的加鎖/解鎖操作。
  • semaphore : 基於CAS的快速可調整大小的semaphore實現(比基於管道的semaphore實現更快)。
  • stl : 基於軟體事務性記憶體(STM)併發控制機制的軟體事務性鎖。
  • threadpoolGolang執行緒池的實現。
  • tunny : Go 語言協程池
  • worker-pool : Go簡單的非同步worker池。
  • workerpool : 用於限制任務執行的併發性的goroutine緩衝集區。

    GUI

  • app : 使用Go, HTMLCSS 進行應用程式開發的庫, 支援 MacOS, Windows
  • fyne : 基於Material DesignGo設計的跨平臺本地GUI。支持 Linux, macOS, Windows, BSD, iOS` 和 Android.
  • go-astilectron : 使用GOHTML/JS/CSS(由Electron提供支援)構建跨平臺GUI應用程式
  • go-gtk : GTKGo綁定。
  • go-sciter : Sciter Go 語言介面,支援現代 GUI 程式開發的、嵌入式 HTML/CSS/腳本引擎。具有跨平臺特性。
  • gotk3 : ` GTK3 `的Go語言介面
  • gowd : 使用Go, HTML, CSS NW.js 語言進行快速、簡單的桌面UI開發。具有跨平臺特性
  • qt : ` QtGo語言介面 (支援 Windows,macOS,Linux,Android,iOS,Sailfish OS, Raspberry Pi`)
  • ui : 跨平臺的原生 GUI 庫
  • Wails : 使用內置的 HTML 渲染器。
  • walk : windows 應用程式開發套件
  • webview : 支援雙向 JavaScript 綁定的跨平臺 webview 視窗庫(Windows,macOS,Linux)。
  • go-appindicator : libappindicator3 C庫的Go綁定。
  • gosx-notifier : OSX 桌面提醒庫
  • mac-activity-tracker : ` OSX` 庫,用於通知機器上的任何(可插拔)活動。
  • mac-sleep-notifier : - golang中的OSX睡眠/喚醒通知庫。
  • robotgo : 跨平臺GUI自動化工具,可以控制滑鼠、鍵盤及其他設備
  • systray : 跨平臺的 Go 語言庫,用於在桌面提醒區域放置按鈕及功能表
  • trayhost : 跨平臺的 Go 語言庫,用於在主機系統任務條區域放置按鈕及功能表

    硬體

    與硬體交互的庫、工具

  • 請參考 go-hardware

    Images 影像處理

  • bild : 彙集了使用 Go 語言編寫的影像處理演算法
  • bimg : 利用 libvips 進行快速高效的影像處理
  • cameron : Go的頭像生成器。
  • canvas : 將向量圖形轉換成 PDF、SVG 或光柵化圖像。
  • darkroom : 圖像代理,具有可更改的存儲後端和影像處理引擎,注重速度和彈性。
  • draft : 使用簡單的YAML語法為GraphViz生成高級微服務架構圖。
  • geopattern : 從字串創建優美的圖樣
  • gg : 使用 Go 編寫的 2D 渲染程式
  • gift : 影像處理篩檢程式包
  • gltf : 高效且強大的glTF 2.0讀取器、寫入器和驗證器。
  • go-cairo : cairo 圖形庫的 Go 語言介面
  • go-gd : GD 庫的 Go 語言介面
  • go-nude : 使用 Go 語言進行裸替檢測
  • go-opencv : OpenCVGo 語言介面
  • go-webcolors : webcolors 庫的 Go 語言介面
  • gocv : 使用 OpenCV 3.3+ 的電腦視覺的 Go 包。
  • goimagehash : Go感知圖像雜湊包。
  • goimghdr : imghdr 模組為 Go 確定檔中包含的圖像類型。
  • govatar : 用於生成有趣頭像的庫和命令列工具。
  • gridder : 基於網格的2D圖形庫。
  • image2ascii : 將圖像轉換為ASCII碼。
  • imagick : ImageMagick MagickWand C 語言 APIGo 語言介面
  • imaginary : 快速且簡單的 HTTP 微服務,用於圖像縮放
  • imaging : 簡單的Go影像處理包。
  • img : 圖像操作工具精選集
  • ln : ` 3D` 圖線藝術渲染
  • mergi : 用於影像處理的工具和 Go 庫(合併、裁剪、調整大小、浮水印、動畫)。
  • mort : 用Go編寫的存儲和影像處理伺服器。
  • mpo : ` MPO 3D` 照片解碼與轉換工具.
  • picfit : 一個使用 Go 語言編寫的圖片縮放伺服器
  • pt : 光線追蹤引擎
  • resize : 使用 Go語言編寫的具有常見差值功能的圖片縮放工具
  • rez : 純 Go SIMD 實現的圖像縮放庫
  • smartcrop : - 為任意圖片進行剪裁的工具
  • steganography : 用於LSB隱寫的純Go庫。
  • stegify : 用於LSB隱寫的Go工具,能夠隱藏圖像中的任何文
  • svgo : 用於生成 SVG Go 語言庫
  • tga : tga 是一個 TARGA 圖像格式解碼/編碼器

    物聯網(IOT)

  • connectordb : 針對iot的開源物聯網平臺
  • devices : 管理物聯網設備的套件庫
  • eywa : ` Eywa` 是一個持續追蹤所有連接設備的連線管理員
  • flogo : FloGo 是一個用於物聯網 Edge App 及集成的開源框架
  • gatt : ` Gatt `是一個用於創建低功耗藍牙外設的庫
  • gobot : ` Gobot` 是一個用於機器人,物理計算以及物聯網的庫
  • huego : 適用於 Go 的廣泛的 Philips Hue 用戶端庫。
  • iot : IoT是實現Google IoT Core設備的簡單框架。
  • mainflux : 工業物聯網消息傳遞和設備管理伺服器。
  • periph : 外設I/O,用於連接低級板卡設施。
  • sensorbee : 羽量級物聯網流處理引擎

    作業調度

  • clockwerk : 使用簡單、流暢的語法來調度週期性作業的Go包。
  • clockwork : Go中簡單直觀的作業調度庫。
  • go-cron : ` Go的簡單Cron`庫,它可以在不同的時間間隔執行閉包或函數,主要用於web應用程式和長期運行的守護進程。
  • go-quartz : 簡單、零依賴的Go調度庫。
  • gocron : 簡單流暢的Go作業調度。這是·jasonlvhit/gocron·`的一個積極維護的fork.
  • gron : 使用簡單的 Go API 定義基於時間的任務,Gron 的調度器將相應地運行它們。
  • JobRunner : 智慧且功能豐富的cron任務調度器,內置任務佇列和即時監控。
  • jobs : 持久而靈活的後臺作業庫。
  • leprechaun : 工作調度器,支持webhooks、crons和經典調度系統。
  • scheduler : ` Cronjobs`調度系統。

    JSON

  • ajson : golang實現的支持JSONPath的抽象JSON格式解析庫。
  • dynjson : 向用戶端提供自訂的JSON格式的動態API
  • ej : 從不同的資料寫入和讀取JSON的庫。
  • epoch : 包含用於將Unix時間戳記,epoch轉換為JSON中的內置時間類型的處理庫。
  • gjo : 用於創建JSON物件的小工具。
  • GJSON : 用一行代碼獲取JSON值。
  • go-jsonerror : Go-JsonError的目的是讓我們能夠輕鬆創建遵循JsonApi規範的json響應錯誤。
  • go-respond : 用於處理常見HTTP JSON回應的Go包。
  • gojq : Golang中的JSON查詢庫。
  • gojson : 從示例 JSON 自動生成 Go結構體定義的庫。
  • JayDiff : 用Go編寫的JSON差異比較工具。
  • jettison : 用於 Go 的高性能、無反射的 JSON 編碼器。
  • JSON-to-Go : 將JSON轉換為Go結構
  • json2go : 高級JSONGo結構的轉換。提供能夠解析多個JSON文檔並創建適合所有JSON文檔的結構的包。
  • jsonapi-errors : 基於JSON API錯誤引用的Go 語言封裝。
  • jsonf : 用於高亮格式化和結構查詢JSON的控制台工具。
  • jsongo : ` Fluent API,使其更容易創建Json`物件。
  • jsonhal : ,用於將自訂的結構體marshal為相容HALJSON response的庫。
  • jzon : 相容標準json庫的JSON庫。
  • kazaam : 轉換任意json文檔的的API庫。
  • mapslice-json : 用於有序地對JSON中的map結構進行marshal/unmarshal
  • mp : 簡單的 cli 電子郵件解析器,能夠接受標準輸入並輸出JSON日誌

    Logging 日誌庫

  • distillog : 分級日誌記錄庫(可以把它想像成 stdlib + log levels)。
  • glg : 簡單、快速、分級的日誌庫
  • glo : 分級記錄日誌的庫
  • glog : Go的分級日誌
  • go-cronowriter : 對日誌檔基於當前日期和時間進行自動迴圈寫入的庫,類似 cronolog.
  • go-log : 一個包含rack traces、物件轉儲和可選時間戳記的日誌庫。
  • go-log : 簡單且可配置的go日誌庫,包括分級、格式化和多項輸出的特性。
  • go-log : 日誌庫支援級別和多處理常式。
  • go-log : Go中的Log4j實現。
  • go-logger : 支援日誌分級的簡單的日誌工具
  • gologger : 簡單易用的日誌庫,可以在彩色控制台、檔或 Elasticsearch 中記錄
  • gomol : 支援多種輸出,結構化的日誌模組,可以擴展它的輸出
  • gone/log : 快速、可擴展、全功能、相容標準庫的日誌庫
  • httpretty : 將常規的 HTTP 請求漂亮地列印在終端上用於調試(類似於 http.DumpRequest)。
  • journald : systemd 日誌的本地日誌 API Go 實現。
  • kemba : 受debug 啟發的小型調試日誌工具,非常適合CLI工具和應用程式。
  • log : O(1)複雜度的日誌系統,允許你將一個日誌連接到多個輸出(例如 stdout、檔和一個 TCP 連接)。
  • log : Go的結構化日誌包。
  • log : 簡單、可配置、可擴展的Go結構化日誌庫。
  • log : 結構化日誌介面。
  • log-voyage :用 golang 編寫的全功能日誌庫。
  • log15 : 簡單、強大的Go日誌記錄。
  • logdump : 用於多級日誌記錄的套裝軟體。
  • logex : ` Golang`日誌庫,支援跟蹤和級別,由標準日誌庫封裝。
  • logger : 日誌庫。
  • logmatic : ` Golang`的彩色日誌記錄器,具有動態日誌級別配置功能。
  • logo : Golang的日誌記錄庫,可配置不同的寫入器。
  • logrusiowriter : 使用 logrus loggerio.Writer 實現。
  • logrus : ` Go `的結構化日誌記錄器。
  • logrusly : logrus外掛程式,用於將錯誤發送到Loggly
  • logur : 日誌記錄介面和日誌記錄最佳實踐的整合,它對諸多知名庫如logrusgo-kit logzapzerolog等的功能進行了集成
  • logutils : 對 Go 語言標準日誌工具進行了擴展,使其更好用
  • logxi : 十二要素 app 日誌工具,非常快速。
  • lumberjack : 簡單的迴圈日誌工具。
  • mlog : 簡單的日誌模組,可以分5級並有一個可選的迴圈日誌檔記錄功能,支援 stdout/stderr 輸出.
  • onelog : Onelog是一個簡單但非常高效的JSON日誌庫。它是目前所有場景下最快的JSON日誌器。同時,它也是所需最少記憶體分配的庫。
  • ozzo-log : 高性能日誌庫,支援日誌分級、分類及過濾。可以將過濾後的資訊發送到不同的目的地(例如: 控制台、網路、郵箱).
  • phuslu/log : - 結構化日誌系統。
  • rollingwriter : ` RollingWriter`是一個具有自動輪轉功能的io.Writer實現,它有多種策略來提供日誌檔旋轉。
  • seelog : 靈活的、解耦的、格式化的日誌庫
  • spew : - 為 Go 語言的資料結構實現了一個整潔的列印功能,有助於調試
  • sqldb-logger : -用於Go SQL資料庫驅動的日誌記錄器,無需修改現有的*sql.DB標準用法。
  • stdlog : Stdlog 是一個物件導向的庫,提供了分級日誌功能,對於定時任務很有用.
  • tail : 這個 Go 語言套裝軟體力爭類比 BSD tail 的功能
  • xlog : 外掛程式架構以及靈活的日誌系統,具有日誌等級控制,多日誌目標以及自訂日誌格式功能
  • xlog : 結構化日誌庫
  • zap : 快速的、結構化的、分級的日誌庫
  • zerolog : 零記憶體分配 的JSON 日誌庫.

    機器學習

  • bayesian : 貝葉斯分類器
  • CloudForest : 純 Go 語言編寫的快速、靈活、多執行緒決策樹
  • eaopt : 進化優化庫。
  • evoli : 遺傳演算法和粒子群優化庫。
  • fonet : 用Go編寫的深度神經網路庫。
  • go-cluster : k-modesk-prototypes聚類演算法的Go實現。
  • go-deep : 用Go編寫的功能豐富的神經網路庫。
  • go-fann : 快速人工神經網路庫(FANN)Go 語言藉口.
  • go-galib : Go 語言編寫的遺傳演算法庫
  • go-pr : ` Go `語言模式識別庫
  • gobrain : 用go語言編寫的神經網路。
  • godist : 各種概率分佈以及相關方法庫。
  • goga : Go 語言遺傳演算法庫
  • GoLearn : ` Go `語言通用機器學習庫
  • golinear : ` liblinear 庫的 Go `語言介面
  • GoMind : Go 中的一個簡單的神經網路庫。
  • goml : 即時go語言機器學習庫
  • gonet : ` Go `的神經網路。
  • Goptuna : 用Go編寫的黑盒函數的貝葉斯優化框架。一切都將被優化。
  • goRecommend : Go 語言推薦演算法庫
  • gorgonia : 基於圖的計算庫,類似於 Theano。提供了一些原型用於構建各種個樣的機器學習和神經網路演算法
  • gorse : 用Go編寫的基於協作過濾的離線推薦系統後臺。
  • goscore : 用於 PMMLGo 評分 API
  • gosseract : 用於OCR(光學字元辨識)的Go包,使用Tesseract C++庫。
  • libsvm : ` libsvm Go 語言版本,基於 LIBSVM 3.14.`
  • neat : 隨插即用的並行 Go 語言框架,用於增強拓撲神經網路 (NEAT).
  • neural-go : Go 語言實現的多層感知神經網路,通過反向傳播演算法進行訓練.
  • ocrserver : 簡單的OCR API伺服器,很容易被DockerHeroku部署。
  • onnx-go : Open Neural Network Exchange (ONNX)Go介面。
  • probab : 概率分佈函數。貝葉斯推理。用純Go編寫。
  • randomforest : 簡單易用的 Go 隨機森林庫。
  • regommend : 推薦系統及協同過濾引擎
  • shield : go語言實現的貝葉斯文本分類器,具有靈活的標記器和存儲後端。
  • tfgo : 易於使用的Tensorflow go語言封裝:簡化了官方Tensorflow Go的使用。
  • Varis : Golang神經網路。

    消息系統

  • ami : 基於Redis集群可靠佇列的Go用戶端。
  • APNs2 : go語言實現的基於HTTP/2蘋果推送通知提供服務,可以向iOStvOSSafariOSX應用程式發送推送通知
  • Asynq : 建立在 Redis 之上,為 Go 提供的簡單、可靠、高效的分散式任務佇列,。
  • Beaver : 即時消息伺服器,用於在網路和移動應用中構建可擴展的應用內通知、多人遊戲、聊天應用。
  • Benthos : 在一系列協定之間建立消息流go代碼庫
  • Bus : 用於內部通信的簡約型消息匯流排實現。
  • Centrifugo : 即時消息伺服器
  • Commander : 一個高級事件驅動庫,支援消費者/生產者模式,支援各種消息系統,如Apache Kafka。
  • Confluent Kafka Golang ClientConfluentApache KafkaConfluent Platform開發的Golang用戶端。
  • dbus : ` D-BusGo` 語言介面
  • drone-line : 通過套裝軟體,docker 或是 Drone CI來發送 Line 通知
  • emitter : 通過Go語言的方式發送事件消息,可以使用萬用字元,斷言,取消發送等優秀特性。
  • event : 觀察者模式的go語言實現
  • EventBus : 羽量級事件庫,支援非同步
  • gaurun-client : Go 語言編寫的 Gaurun 用戶端
  • Glue : 健壯的 Go Javascript Socket 庫 (可以用來替代 Socket.io).
  • go-mq : 具有聲明式配置的 RabbitMQ 用戶端。
  • go-notify : freedesktop通知規範的本地實現
  • go-nsq : NSQ 官方 Go 語言庫
  • go-res : 用於構建 REST/即時服務的包,使用 NATSResgate 實現用戶端無縫同步。
  • go-socket.ioGo 語言的 socket.io庫 ,一個即時應用框架.
  • go-vitotrol : Viessmann Vitotrol 服務的 Go 語言用戶端
  • Gollum : 一個 n:m 的多工器,從不同的源彙聚消息並向目標進行廣播
  • golongpoll : ` HTTP` 長輪詢伺服器庫,讓 web 發佈與訂閱變的更簡單.
  • gopush-cluster : Gopush-cluster 是一個 Go 語言實現的支援集群的comet服務(支援 websockettcp協定)
  • gorush 通知推送伺服器,使用 APNs2GCM
  • gosd : 用於調度何時向通道發送消息的庫。
  • guble : 使用通知推送(Google Firebase Cloud Messaging, Apple Push Notification services, SMS)、websockets 、REST API 的消息伺服器。提供了分散式操作和消息持久化特性
  • hub : 用於 Go 應用程式的消息/事件彙聚,使用發佈/訂閱模式,支援像 rabbitMQ 的使用模式。
  • jazz : 一個簡單的RabbitMQ抽象層,用於佇列管理以及消息的發佈和消費。
  • machinery : 非同步任務佇列,基於分散式消息處理
  • mangos : 純 Go 語言實現的 Nanomsg ("Scalable Protocols")
  • melody : 用於處理websocket會話的簡約框架,包括廣播和自動ping/pong處理。
  • Mercure : 使用Mercure協定(建立在Server-Sent Events之上)來調度伺服器發送的更新的代碼庫。
  • messagebus : ` messagebus是一個Go簡單的非同步消息系統,用於事件源、CQRS、DDD`等場景
  • NATS Go Client : 原生的 oplog/replication 系統,用於 REST APIs場景
  • nsq-event-bus : 針對 NSQ 的topicchannel進行了簡單的封裝
  • oplog : 用於 REST API場景的通用oplog/copy系統。
  • pubsub : 簡單的 pubsub 套裝軟體
  • rabbus : ` amqp`交換佇列的簡易封裝。
  • rabtap : - RabbitMQ 瑞士軍刀 cli 應用。
  • RapidMQ : ` RapidMQ `是一個羽量級,可靠的本地訊息佇列管理庫
  • redisqueue : redisqueue 提供了一個使用 Redis 流的佇列,可以用於生產者和消費者模式。
  • rmqconn : RabbitMQ Reconnection。amqp.Connectionamqp.Dialgo語言封裝。允許在連接中斷時進行重新連接,然後再強制調用關閉方法。
  • sarama : 用於 Apache Kafka 的庫
  • Uniqush-Push : 基於 Redis 的統一推服務,用於伺服器端向移動用戶端推送消息
  • zmq4 : ZeroMQ version 4GO 語言介面。也有適用於version 3version 2

    Microsoft Office

  • unioffice : 用於創建和處理Office Word (.docx)、Excel (.xlsx)Powerpoint (.pptx)文檔的純go庫。

    EXCEL

  • excelize : 用於讀寫 Microsoft Excel™ (XLSX) 文件的 Golang
  • go-excel : 用於讀取類似資料庫形式的excel表格。
  • goxlsxwriter : go語言libxlsxwriter封裝, 用於編寫 XLSX (Microsoft Excel) 文件。
  • xlsx : 用於在 Go 程式中讀取最新版 Microsoft Excel的庫
  • xlsx : 在Go程式中快速、安全地讀取/更新現有 Microsoft Excel 檔的庫。

    其他雜項

    依賴性注入

  • alice : Golang 的依賴注入容器
  • container : 功能強大的 IoC 容器,具有流暢且易於使用的介面。
  • di : Go程式設計語言的依賴注入容器。
  • dig : 基於反射的Go依賴注入工具包。
  • dingo : 基於 GuiceGo 依賴注入工具包。
  • fx : 基於 Go 的依賴注入應用框架(建立在 dig 的基礎上)。
  • gocontainer : 簡單的依賴注入容器。
  • goioc/di : Spring啟發的依賴注入容器。
  • linker : 基於反射的依賴注入和反轉的控制項庫,支援元件生命週期。
  • wire : Golang運行時依賴注入。

    專案結構

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

  • cookiecutter-golang :Go應用程式範本,用於按照生產最佳實踐快速啟動項目。
  • go-sample : 一個帶有真實代碼的 Go 應用項目佈局示例。
  • go-todo-backend : Go Todo Backend 示例,使用模組化的專案佈局,針對微服務等場景。
  • golang-standards/project-layout : - Go 生態系統中常見的歷史和新興專案佈局模式集。
  • modern-go-application : 應用現代實踐的 Go 應用程式範本和示例。
  • scaffold : Scaffold 生成一個入門的 Go 項目佈局。讓您專注於業務邏輯的實現。

    字串處理

  • go-formatter : 實現大括弧{}格式字串的替換欄位。
  • gobeam/Stringy : 字串操作庫,用於將字串轉換為駝峰、小駝峰等格式
  • strutil : 字串實用工具。
  • xstrings : 從其他語言移植過來的字串函數集合。

    暫未分類

    這些庫被放在這裡是因為其他類別似乎都不適合。

  • anagent : 簡約、可插拔的Golang evloop/timer處理常式,具有依賴注入功能。
  • antch : 一個快速、強大、可擴展的網路爬行和抓取框架。
  • archiver : 用於製作和解壓.zip.tar.gz文件的庫和命令。
  • autoflags : Go包,用於從結構域中自動定義命令列標誌。
  • avgRating : - 基於Wilson Score Equation計算平均得分和評分。
  • banner : 在你的Go應用程式中添加漂亮的橫幅。
  • base64Captcha : ` Base64captch`支援數位、數位、字母、算術、音訊和數位來生成字母驗證碼。
  • battery : 跨平臺電源資訊庫
  • bitio : 高度優化的比特級讀寫
  • browscap_go : Browser Capabilities Project GO 語言庫
  • captcha : 包 captcha 為驗證碼的生成提供了一個簡單易用的 API。
  • conv : 包 conv 提供了跨 Go 類型的快速和直觀的轉換。
  • datacounter : ` Greaders/writer/HTTP.ResponseWriter `計數器
  • faker : Go的隨機偽造資料和結構生成器。
  • ffmt : 美化資料顯示。
  • gatus : 自動化的服務健康儀錶板。
  • ghorg : 快速將整個 org/users 倉庫克隆到一個目錄中 - 支援 GitHub、GitLabBitbucket
  • go-commons-pool : Golang 的通用物件集區。
  • go-openapi : 解析和使用 open-api 模式的套裝軟體集合。
  • go-resiliency : ` golang `的彈性模式。
  • go-unarr : RAR、TAR、ZIP 7z 文件的解壓庫。
  • gofakeit : 用go編寫的亂數據生成器。
  • gommit : 分析git提交消息,確保它們遵循定義的模式。
  • gopsutil : 跨平臺庫,用於檢索進程和系統利用率(CPU、記憶體、磁片等)。
  • gosh : 提供 Go 統計處理常式、結構、測量方法。
  • gosms : 你本地的SMS 閘道,可以用來發送 SMS
  • gotoprom : 提供 Go 統計處理常式、結構、測量方法
  • gountries : 一個用來展示國家及其行政區劃資料的庫
  • health : 簡單易用、可擴展的服務健康檢查庫
  • healthcheck : 針對RESTful併發服務健康檢查HTTP處理常式。
  • hostutils : 用於打包和解壓FQDNs列表的golang庫。
  • indigo : 使用SonyflakeBase58編碼的分散式唯一ID生成器。
  • lk : 簡單的 `golang 授權庫。
  • llvm : - 用於在純Go中與LLVM IR交互的庫。
  • metrics : 用於度量工具和 Prometheus 指標的庫。
  • morse : 用於轉換摩爾斯代碼的庫。
  • numa : - NUMA 是一個用 Go 編寫的實用程式庫。它幫助我們編寫一些NUMA-AWARED代碼。
  • pdfgen : 從Json請求中生成PDFHTTP服務。
  • persian : 用go編寫的波斯語實用程式。
  • sandid : 地球上的每一粒沙子都有自己的ID
  • shellwords : Golang 庫,用於根據 UNIX Bourne shell 的單詞解析規則來處理字串。
  • shortid : 分散式生成超短的、唯一的、非序列的、URL友好的ID。
  • shoutrrr : 提供輕鬆訪問各種消息服務的通知庫,如slack, mattermost, gotifysmtp等。
  • stateless : 用於創建狀態機的庫
  • stats : 監控 Go 記憶體狀態及系統狀態,通過UDP進行資料發送
  • turtle : GoEmojis
  • url-shortener : 一個現代的、強大的、健壯的、支持mysqlURL短鏈的微服務。
  • VarHandler : 生成範本化的http輸入和輸出。
  • xdg : Go中實現的FreeDesktop.org (xdg)規範。
  • xkg : 鍵盤抓取器

    自然語言處理

  • detectlanguage : 語言檢測API Go用戶端。支援批量請求、短語或單字語言檢測。
  • getlang : 快速自然語言檢測包。
  • go-i18n : ,用於處理當地語系化文本 的套裝軟體及相關工具
  • go-localize : 簡單易用的i18n(國際化和當地語系化)引擎 - 用於翻譯當地語系化字串。
  • go-mystem : ` Yandex.Mystem CGo 介面, Yandex.Mystem` 是一個俄語詞彙形態學分析器
  • go-nlp : 在進行自然語言工作時用於處理離散概率分佈一些工具,以及其他的一些有用的工具
  • go-pinyin : 漢字到中文拼音轉換器。
  • go-stem : 波特詞幹演算法的一個實現
  • go-unidecode : Unicode 文本音譯為 ASCII 文本
  • go2vec : 利用 Go 語言讀取和處理 word2vec
  • gojieba : 結巴分詞的 Go 語言實現的 jieba ,結巴分詞是一個用於中文的分詞演算法
  • golibstemmer : snowball libstemmer 庫的 Go 語言介面,包括了對 porter 2 的支援
  • gosentiwordnet : ` libstemmer`庫的Go綁定。
  • gotokenizer : 基於 Golang 的字典和 Bigram 語言模型的分詞器。(現在只支持中文分割)
  • gounidecode : ` Go 語言的 Unicode 直譯器 (通常稱之為 unidecode`)
  • govader : VADER Sentiment Analysis 情感分析的Go實現
  • gse : ` Go`高效的文本分割;支援英語、中文、日語和其他語言。
  • icu : icu4c C 庫的 CGo 介面,包括了檢測和轉換函數。保證了 version 50.1 版本的相容性
  • iuliia-go : 以各種可能的方式翻譯西瑞爾語→拉丁語。
  • kagome : 用純Go編寫的JP形態分析器。
  • libtextcat : libtextcat C 庫的 CGo 介面。保證了version 2.2 版本的相容性
  • MMSEGO : Go 語言實現的 MMSEG (一個中文分詞演算法)
  • MMSEG : MMSEG的GO實現,是一種中文分詞演算法。
  • nlp : 從字串中提取值,並用nlp填充結構。
  • nlp : 支援LSALatent Semantic Analysis)的Go自然語言處理庫。
  • paicehusk : Go 語言實現的 Paice/Husk 詞幹演算法
  • petrovich : Petrovich 是一個將俄語名稱轉變成給定語言的庫。
  • porter : Martin Porter 實現的 C 語言版本的 Porter 詞幹演算法的 Go 語言介面。
  • porter2 : 非常快速的 Porter 2 stemmer.
  • prose : 文本處理庫,支援詞語切分、詞性標記、命名實體提取等功能
  • RAKE.go : 快速自動關鍵字提取演算法(Rapid Automatic Keyword Extraction:RAKE)的 Go 語言介面
  • segment : 用於進行 Unicode 文本分割的庫,實現了Unicode Standard Annex #29 中描述的功能
  • sentences : 語句標記器:將文字段落轉換為語句清單
  • shamoji : ` shamoji 是一個Go`語言編寫的詞過濾套裝軟體
  • snowball : Snowball native分詞器的Go語言介面,提供了分詞提取的功能 .
  • stemmer : Go 語言分詞器套裝軟體,包括了英語和德語分詞器
  • textcat : 基於 n-gram Go 語言文本分類套裝軟體,支援utf-8 和原始文本
  • transliterator : 提供單向字串翻譯,支援特定語言的翻譯規則
  • whatlanggo : ` Go `語言的自然語言檢測包。支援84種語言和24種書寫 (如拉丁,西瑞爾等書寫系統)。
  • when : 英語、俄語的自然語言日期、時間表達解析器。

    網路相關庫

  • arp : 遵循 RFC 826標準實現了 ARP協議。
  • buffstreams : 基於 TCP的 簡單易用的protocolbuffer 資料流程
  • canopus : CoAP用戶端/伺服器實現 (RFC 7252)
  • cidranger : Go的快速IP、CIDR查找庫。
  • dhcp6 : dhcp6 實現了一個DHCPv6伺服器,遵循RFC 3315標準。
  • dns : 用於處理 DNS Go 語言庫
  • ether : 跨平臺Go 語言庫,用於發送和接收乙太幀
  • ethernet : ethernet實現了IEEE 802.3 Ethernet II幀以及IEEE 802.1Q VLAN標籤的組裝和剝離.
  • fasthttp : asthttp 是一個快速的HTTP實現,比net/http1的性能快10倍
  • fortio : 負載測試庫和命令列工具,提供先進的echo伺服器和web使用者介面。允許指定設定每秒鐘查詢的負載,記錄延遲長條圖和其他有用的統計資料,並將其繪製成圖表。
  • ftp : ftp 實現了一個FTP 用戶端,遵循 RFC 959 標準
  • gaio : 在proactor模式下為Golang提供高性能的非同步io網路。
  • gev : 一個輕量、比標準庫更快的基於 Reactor 模式的非阻塞TCP網路庫,支援自訂協定,可以輕鬆快速搭建高性能伺服器。
  • gmqtt : Gmqtt是一個靈活、高性能的 MQTT代理庫,它完全實現了 MQTT 協議 V3.1.1版本
  • gnet : gnet是用純Go編寫 的一個高性能、羽量級、非阻塞、事件驅動的網路框架,
  • gNxI : 使用gNMIgNOI協定的網路管理工具集合。
  • go-getter : 一個用於通過 URL 從多種源下載檔案或目錄的 Go 語言庫
  • go-powerdns : Golang的PowerDNS API綁定。
  • go-stun : ` Go語言實現的 STUN用戶端 (參考RFC 3489RFC 5389`標準).
  • gobgp : Go語言實現的BGP
  • gohooks : ` GoHooks 使得從 Go應用程式中發送和消費安全的 web-hooks`非常容易。該庫的實現受Spatie的Laravel Webhook用戶端和伺服器的啟發。
  • golibwireshark : Golibwireshark 使用 libwireshark 庫來解析pcap 檔並且分析資料
  • gopacket : 用於報文處理的庫
  • gopcap : libpcap的 Go 語言封裝
  • goshark : Goshark使用 tshark 來對 IP報文進行解碼並創建資料結構用於分析報文
  • gosnmp : 用於執行 SNMP操作的庫
  • gotcp : 用於快速編寫tcp應用的庫
  • grab : 管理檔下載的Go 語言庫
  • graval : 試驗性的FTP 伺服器框架
  • HTTPLab : HTTPLabs讓你檢查 HTTP請求和偽造回應。
  • httpproxy : ` HTTP`代理處理常式和撥號器。
  • iplib : 用於處理IP位址的庫 (net.IP, net.IPNet),靈感來自python ipaddressruby ipaddr
  • jazigo : Jazigo是一個用Go編寫的工具,用於檢索多個網路設備的配置。
  • kcp-go : KCP - 快速可靠的ARQ協議。
  • kcptun : 基於KCP協議的極其簡單和快速的udp隧道。
  • lhttp : 強大的websocket框架,讓您更輕鬆地建立IM伺服器。
  • linkio : 介面讀寫速度模擬器
  • llb : 非常簡單但快速的後端代理伺服器。對於快速重定向到預定義域名很有用,無記憶體分配,回應速度快
  • mdns : 簡單的 mDNS (組播 DNS)用戶端/伺服器庫
  • mqttPaho : Paho用戶端提供了一個 MQTT用戶端庫,用於通過TCP, TLSWebSocketsMQTT broker 建立連接
  • NFF-Go : 用於快速開發雲和裸機(原YANFF)的高性能網路功能的框架。
  • packet : 通過TCPUDP發送資料包。如果需要的話,它可以緩衝消息和熱交換連接。
  • panoptes-stream : 雲端原生的分散式流媒體網路遙測(gNMI、Juniper JTICisco MDT)庫。
  • peerdiscovery : ` Go庫,用於使用UDP`組播進行跨平臺本地對等發現。
  • portproxy : 單的TCP代理,為不支援CORS的API增加了CORS支持。
  • publicip : publicip返回你面向公眾的IPv4地址(互聯網出口)。
  • quic-go : 純GoQUIC協議的實現。
  • raw : raw允許你在設備驅動層讀寫網路介面的資料
  • sftp : sftp 實現了https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt 中描述的 SSH 檔案傳輸通訊協定
  • ssh : 用於創建 SSH 伺服器的高級 API(封裝了crypto/ssh).
  • sslb : 超簡單的負載均衡庫。
  • stun : RFC 5389 STUN協議的Go實現。
  • tcp_server : 用於更快地構建tcp伺服器的Go庫。
  • tspool : 一個使用worker pool來提高性能和保護伺服器的TCP庫。
  • utp : Go uTP微傳輸協議的實現
  • vssh : Go庫,用於通過SSH協定構建網路和伺服器自動化。
  • water : 一個簡單的TUN/TAP庫。
  • webrtc : WebRTC API的純Go實現。
  • winrm : 用於在 Windows 機器上遠端執行命令的Go WinRM用戶端。
  • xtcp : TCP 伺服器框架,支援同時全雙工通信。可以優雅的關閉,並且支援自訂協定

    Http Client

  • gentleman : -外掛程式驅動的HTTP用戶端庫。
  • go-http-client : 支持簡單方便地進行http調用。
  • grequests : 著名的請求庫的Go版本。
  • heimdall : 具有重試和hystrix功能的http用戶端。
  • httpretry : 豐富了默認的 Go HTTP用戶端的重試功能。
  • pester : 具有重試、回退和併發功能的Go HTTP用戶端調用。
  • request : ` golangHTTP用戶端。如果你有關於 axiosrequests` 的經驗,你會喜歡它,該庫沒有協力廠商依賴。
  • resty : 受Ruby rest-client 的啟發,為Go 設計的簡單 HTTPREST用戶端。
  • rq : golang標準用戶端的更好的介面封裝
  • sling : 用於創建和發送 API請求的Go HTTP用戶端庫。

    OpenGL

  • gl : OpenGLGo語言介面
  • glfw : GLFW 3Go語言介面
  • go-glmatrix : glMatrix 庫的 Go 移植。 :
  • goxjs/gl : Go語言跨平臺OpenGL 介面(OS X, Linux, Windows, browsers, iOS, Android).
  • goxjs/glfw : Go 語言跨平臺 glfw庫,用於創建 OpenGL上下文並接收事件
  • mathgl : Go語言 3D數學庫,專注於3D,受到GLM 啟發

    ORM

  • beego orm : 強大的Go 語言 orm 框架,支援pq/mysql/sqlite3.
  • ent : 簡單而強大的用於資料建模和查詢的ORM。
  • go-firestorm :Google/Firebase Cloud Firestore的簡單ORM
  • go-pg : 專注於PostgreSQL功能和性能的ORM
  • go-queryset : 100%類型安全的ORM,能夠基於GORM進行代碼生成和支持MySQL、PostgreSQL、Sqlite3、SQL Server等資料庫
  • go-sql : 簡單的mysql ORM
  • go-sqlbuilder : 靈活而強大的SQL字串構建庫,加上一個零配置的ORM
  • go-store : -簡單快速的基於Redis 的鍵值對存儲庫
  • GORM : 超棒的 Go 語言 ORM 庫,對開發者非常友好
  • gormt : Mysql資料庫到Golang 結構體的orm庫。
  • gorp : GoORM類庫。
  • grimoire : Grimoire golang的資料庫訪問層和驗證層。(支持:MySQL, PostgreSQLSQLite3)。
  • lore : 適用於Go的簡單羽量級的偽ORM/偽結構映射環境,。
  • marlow : 從專案結構生成ORM,以保證編譯時的安全。
  • pop/soda : 支持 MySQL, PostgreSQL, 以及SQLite.的資料庫遷移、創建、ORM 的工具,
  • QBS : 利用結構體進行標準查詢,是一個 Go語言ORM
  • reform : 基於非空介面和代碼生成的優秀的 ORM,
  • rel : Golang的現代資料庫訪問層 - 可測試、可擴展,並支持生成簡潔優雅的API
  • SQLBoiler :ORM 生成器。為你的資料庫表單生成一個功能全面、快速的 ORM
  • upper.io/db : - 通過使用封裝了成熟的資料庫驅動的適配器,來使用單一介面與不同的資料來源進行交互
  • XORM : 簡單、強大的 Go 語言 orm
  • Zoom : 基於 Redis 構建的超快的資料存儲於查詢引擎。

    Go語言包管理

  • go modules : go module是最新的go語言版本管理工具。go module具有支援包引入記錄和其他模組的依賴構建功能。
  • dep : Go 語言依賴工具.
  • vgo : 用於包和依賴管理的非官方庫。
  • gigo : 類似PIP的依賴管理工具。支持私有倉庫和雜湊
  • glide : 輕鬆管理你的GO 語言包發佈者以及發佈包。 受到類似 Maven, BundlerPip這些工具的的啟發
  • godep : Go 語言依賴工具,Godep可以幫助開發者修復庫的依賴關係
  • gom : ` Go Manager`
  • goop : 簡單的依賴管理工具,受到Bundler的啟發
  • gop : 通過GOPATH 構建和管理你的Go 應用程式。
  • gopm : ` Go` 包管理器
  • govendor : Go 包管理器。 Go語言vendor 工具,相容標準 vendor
  • gpm : ` Go`語言包管理工具
  • johnny-deps : 使用 Git 的最小依賴版本。
  • modgv : 將go mod graph輸出轉換為GraphvizDOT 語言。
  • mvn-golang : 提供自動載入Golang SDK、依賴管理和在Maven專案基礎架構中啟動構建環境的方法的外掛程式。
  • nut : Vendor Go的依賴關係。
  • VenGO : 創建和管理可匯出的隔離的Go虛擬環境。 績效
  • jaeger : 分散式跟蹤系統。
  • pixie : 通過 eBPF Golang應用程式進行無工具追蹤。
  • profile : Go 的簡單剖析支持包。
  • statsviz : 即時視覺化你的Go應用程式運行時的統計資料。
  • tracer : 簡單、羽量級的代碼追蹤庫。

    查詢語

  • api-fu :GraphQL的go語言實現。
  • dasel : 基於命令列的選擇器查詢和更新資料結構。類似於jq/yq,但支持JSON、YAML、TOMLXML
  • gojsonq : 用於查詢JSON資料的Go
  • graphql : graphql解析器和實用工具
  • graphql : 專注于易用性的GraphQL 伺服器
  • graphql-go : 為Go語言實現的GraphQL
  • gws : ApollosGraphQL over Websocket用戶端和伺服器實現。
  • jsonql : ` JSON`查詢運算式庫
  • jsonslice : 具有高級篩檢程式的Json路徑查詢。
  • rql : REST API的資源查詢語言。
  • rqp : ` REST API`的查詢分析器。在查詢中直接支援過濾、驗證、AND、OR操作。
  • straf : - 輕鬆地將Golang結構轉換為GraphQL物件。

    資源嵌入

  • esc : - 在Go語言程式中嵌入檔並為其提供HTTP.FileSystem 介面
  • fileb0x : 用於在 Go語言程式中嵌入檔的工具,專注於可定制化和易用性
  • go-embed : 生成用於嵌入資源檔到庫或可執行檔的 Go 語言代碼
  • go-resources : 簡潔的Go 語言資源嵌入工具
  • go.rice : Go.rice是一個讓你輕鬆使用html,js,css,圖片以及範本這類資源的庫
  • mule : 將外部資源如圖片、電影..嵌入到Go原始程式碼中,使用go generate創建單檔二進位檔案,專注於簡單性。
  • packr : 將靜態檔嵌入Go二進位檔案的簡單方法。
  • statics : 將靜態資源嵌入到Go 檔中,用於單獨二進位編譯+使用http.FileSystem + symlinks.
  • statik : 將靜態檔嵌入到Go 語言可執行檔中
  • templify : 將外部目的檔案嵌入到 Go 代碼中來創建單獨的二進位檔案
  • vfsgen : 生成一個vfsdata.Go檔,靜態實現了一個虛擬檔案系統

    資料分析與資料科學

  • assocentity :單詞到給定實體的平均距離計算包。
  • bradleyterry : 成對比較提供一個布蘭得利-特裡模型。
  • calendarheatmap : 受Github contribution的啟發,為普通Go語言包提供的日曆熱圖。
  • chart : Go的簡單圖表繪製庫,支援多種圖形類型。
  • dataframe-go : 用於機器學習和統計的資料框類似於pandas
  • decimal : 包decimal實現了任意精度的十進位浮點運算。
  • evaler : 簡單的浮點算術運算式評估器。
  • ewma : 指數加權移動平均數。
  • geom : golang的幾何處理庫。
  • go-dsp : 數位信號處理
  • go-gt : 圖論演算法
  • goent : 熵測量的GO實現
  • gohistogram : 資料流程的近似長條圖
  • gonum : 用於 Go 程式設計語言的數值庫。它包含了矩陣、統計、優化等方面的庫。
  • gonum/plot : Gonum/plot提供了用於創建和繪製圖表的API
  • goraph : 純Go語言編寫的圖論庫(資料結構,演算法視覺化)
  • gosl : 用於線性代數、FFT、幾何學、NURBS、數值方法、概率、優化、微分方程等的 Go 科學庫。
  • GoStats : ` GoStats 是一個開源的GoLang` 庫,主要用於機器學習領域的數學統計,它涵蓋了大部分的統計測量函數。
  • graph : 基本圖形演算法庫。
  • ode : 普通微分方程 (ODE) 求解器。支援擴展狀態及基於通道的反覆運算演算法終止條件
  • orb : 支援剪裁、GeoJSON Mapbox Vector Tile2D 幾何類型。
  • pagerank : Go語言實現的加權網頁排名PageRank演算法
  • piecewiselinear : 小型線性插值庫。
  • PiHex : 貝利-波爾溫-普勞夫公式"Bailey-Borwein-Plouffe")`演算法的實現,用於計算十六進位π
  • rootfinding : 用於查找二次函數根的尋根演算法庫
  • stats : 統計庫,包含一些 Go 語言標準庫中漏掉的常用函數
  • streamtools : 通用圖形化工具,用於處理流資料
  • TextRank : Golang中的TextRank 實現,具有可擴展的特性(摘要、加權、短語提取)和多執行緒(goroutine)支持。
  • triangolatte : 2D三角測量庫。允許將線條和多邊形(基於點)翻譯成GPU語言。

    安全領域相關庫

  • acmetool : ACME (Let's Encrypt) 用戶端工具,支援自動續期.
  • acra : 用於保護基於資料庫的應用程式的網路加密代理,用於防止資料洩露、SQL注入等。
  • argon2-hashing : Goargon2 包的封裝,與Go 的標準庫 Bcryptsimple-scrypt 包相對應
  • argon2pw : 具有恒定時間密碼比較功能的argon2 密碼散列生成庫
  • autocert : 自動提供Let's Encrypt 證書並啟動 TLS伺服器。
  • BadActor : 受fail2ban 的啟發駐留在記憶體中的應用驅動監控程序,
  • Cameradar : 用於遠端入侵監控攝像頭的RTSP流的工具庫。
  • certificates : 用於生成tls證書的工具庫。
  • firewalld-rest : 用於動態更新linux伺服器上的firewalld規則的定時程式。
  • go-generate-password : 密碼生成器,可以作為用戶端使用或者作為代碼庫使用。
  • go-password-validator : 用於原始加密熵值的密碼驗證器。
  • go-yara : Go Bindings forYARA 惡意軟體研究人員(以及其他所有人)的模式匹配瑞士刀”。
  • goArgonPass : Argon2密碼散列和驗證,旨在與現有的Python和PHP實現相容。
  • goSecretBoxPassword : 用於安全地散列和加密密碼的go語言包。
  • Interpol : 用於模糊和滲透測試的基於規則的資料生成器,。
  • lego : 純 Go語言開發的 ACME 用戶端庫及命令列工具
  • memguard : 用於處理記憶體中敏感性資料的Go 語言庫
  • nacl : NaCL系列 APIGo 實現
  • optimus-go : 使用Knuth演算法進行ID雜湊和混淆。
  • passlib : 密碼雜湊庫
  • secure : 為 Go 提供了一些安全功能 HTTP 中介軟體,
  • secureio : 基於XChaCha20-poly1305、ECDHED25519io.ReadWriteCloser的金鑰交換+認證+加密封裝器和複用器
  • simple-scrypt : Scrypt庫,具有簡單、易懂的API,同時具有內置的自動校準功能
  • ssh-vault : 利用 ssh 秘鑰加解密 。
  • sslmgr : 通過對acme/autocert的高級封裝,使SSL證書的使用變得簡單。
  • themis : 高級加密庫,用於解決典型的資料安全任務(安全資料存儲、安全消息傳遞、零知識證明認證),提供14種語言,最適合多平臺應用。

    序列化

  • asn1 : Asn.1 BER 及 DER 編碼庫
  • bambam : 從Go中生成Cap'n Proto模式。
  • bel : 從Go結構/介面生成TypeScript介面。對JSON RPC有用。
  • binstruct : 用於將資料映射到結構中的Golang 二進位解碼器。
  • cbor : 小巧、安全、簡單的 CBOR 編碼和解碼庫。
  • colfer : 用於生成 Colfer二進位格式代碼
  • csvutil : 高性能的CSV記錄編碼和解碼器
  • elastic : 在動態轉換不同類型的庫
  • fixedwidth : 固定寬度的文本格式(支援UTF-8)。
  • fwencoder : Go的固定寬度檔解析器(編碼和解碼庫)
  • go-capnproto : Go的Cap'n Proto編碼器和解析器。
  • go-codec : 高性能、多功能、規範化編碼解碼以及rpc庫, 用於 msgpack, cborjson,支援基於運行時的 OR 碼生成
  • go-lctree : 提供一個CLI和基元來序列化和反序列化 LeetCode二進位樹。 LeetCode binary trees :
  • gogoprotobuf : 用於Gadgets 的go協定緩衝區。
  • goprotobuf : 以庫和協定編譯器外掛程式的形式為 Google 的協定緩衝區提供 Go 支援。
  • jsoniter : 100%相容的"encoding/json "的 高性能程式庫。
  • mapstructure : 用於將通用map值解碼為本地Go結構的Go庫。
  • php_session_decoder : 用於處理 PHP session 格式和PHP Serialize/Unserialize函數的 GoLang 庫。
  • pletter : 為消息仲介包裝原消息的標準方法。
  • structomap : 用於從靜態結構中輕鬆動態地生成映射的庫。

服務端應用

  • algernon : HTTP/2 web伺服器,內置Lua、Markdown、GCSSAmber支持。
  • Caddy : Caddy是一個備選的 HTTP/2 web 伺服器,配置簡單,使用方便。
  • consul : ` Consul`是一個用於服務發現、監控和配置的工具
  • devd : 開發者使用的本地web 伺服器
  • discovery : 一個用於彈性中層負載均衡和容錯移轉的註冊表。
  • dudeldu : 一個簡單的SHOUTcast伺服器。
  • etcd : 高可用性的鍵值存儲,用於分享配置和服務發現
  • Fider : Fider是一個收集和整理客戶回饋的開放平臺。
  • Flagr : ` Flagr`是一個開源的功能標誌和A/B測試服務。
  • flipt : 用GoVue.js編寫的自帶功能標誌的解決方案。
  • go-proxy-cache : 簡單的反向代理與緩存,用Go編寫,使用Redis
  • jackal : 用Go編寫的XMPP伺服器。
  • lets-proxy2 : 反向代理,用於處理https,在fly中使用 lets-encrypt發行證書。
  • minio : Minio 是一個分散式物件存儲伺服器
  • nginx-prometheus : -NginxPrometheus exporter
  • nsq : 一個即時的分散式消息平臺
  • protoxy : 一個將JSON請求體轉換為協定緩衝區的代理伺服器。
  • psql-streamer : 從PostgreSQLKafka的資料庫事件流。
  • riemann-relay : - 負載平衡Riemann事件和/或將其轉換為Carbon的中繼。
  • RoadRunner : 高性能的PHP應用伺服器,負載等化器和進程管理器。
  • SFTPGo : 功能齊全、高度可配置的SFTP伺服器,可選擇支持FTP/S和WebDAV。它可以為本地檔案系統和雲存儲後端服務,如S3和穀歌雲存儲。
  • simple-jwt-provider : 簡單羽量級的provider,它展示了JWTs,支援登錄、密碼重置(通過郵件)和用戶管理。
  • Trickster : HTTP反向代理緩存和時間序列加速器。

    流處理

    流式資料處理和回應式程式設計庫

  • go-streams : Go流處理庫。
  • machine : 內置度量和具有可跟蹤的用於編寫和生成流式workerGo
  • stream : Go Stream,像Java 8 Stream一樣。支持Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce...等特性

    範本引擎

    模版渲染和模版生成處理庫

  • ace : Go 語言版本的 HTML 範本引擎,受到了 SlimJade 的啟發。Ace 是對Gold的一種改進。
  • amber : Amber 是一個優雅的範本引擎,受到HAMLJade的啟發
  • damsel : 通過css選擇器實現了 html 框架 ,並可以通過 pkg html/template 等進行擴展
  • ego : 羽量級範本語言,讓你可以使用 Go語言來創建範本。範本會被轉化為 Go 語言並編譯
  • extemplate : 圍繞html/template 的小型封裝器,可以輕鬆實現基於檔的範本繼承
  • fasttemplate : 簡單而快速的範本引擎。替換範本預留位置的速度比text/template : 快10倍
  • gofpdf : ` PDF`文檔生成器,高度支援文本、繪圖和圖像。
  • gospin : 語法引擎,對於A/B、測試文本/文章片段和創建更自然的對話非常有用。
  • goview : Goview是一個羽量級的、簡約的、習慣性的範本庫,基於golang html/template來構建Go web應用。
  • hero : Hero是一個趁手的、快速的、強大的 Go 語言範本引擎
  • jet : Jet 範本引擎
  • kasia.go : 使用go語言實現的 用於HTML 和其他文字檔的範本系統,
  • liquid : Go 語言實現的Shopify Liquid範本.
  • maroto : 用Maroto的方式來創建PDF。Maroto的靈感來自於Bootstrap並使用gofpdf
  • mustache : Go語言實現的 Mustache範本語言
  • pongo2 : 類似Django的範本引擎
  • quicktemplate : 快速、強大且易用的範本引擎。將範本轉化為 Go 語言並進行編譯
  • raymond : 使用 Go語言實現的完整的 handlebars
  • Razor : ` Go語言的 Razor` 視圖引擎
  • Soy :go語言實現的谷歌閉包範本(也就是Soy templates), 參見官方說明文檔 :
  • velvet : 使用 Go語言實現的完整的` handlebars

    測試相關

    測試庫和測試資料集生成庫

  • 測試框架
    • apitest : 為基於REST的服務或HTTP處理常式提供簡單且可擴展的行為測試庫,支援模擬外部http調用和渲染序列圖。
    • assert : 基礎斷言庫,用於對Go語言程式進行測試,提供了一些用於自訂斷言的代碼塊
    • badio : Go 語言 testing/iotest包的擴展
    • baloo : 表達性強、多功能的、端到端的HTTP API 測試工具
    • biff : ` Bifurcation測試框架,相容BDD`。
    • charlatan : 為測試生成虛假介面實現的工具。
    • commander : 用於在windows、linuxosx上測試`cli應用程式的工具。
    • covergates : 自主的代碼覆蓋率報告審查和管理服務。
    • cupaloy : 用於測試框架的簡單快照測試外掛程式。
    • dbcleaner : 清空資料庫用於測試,受到database_cleaner的啟發
    • dsunit : 資料庫測試,針對 SQL、 NoSQL、 結構化檔.
    • embedded-postgres : 作為另一個 Go應用程式或測試的一部分,在Linux、OSXWindows上本地運行一個真正的 Postgres 資料庫
    • endly : 聲明式端到端功能測試。
    • flute : ` HTTP`用戶端測試框架。
    • frisby : REST API 測試框架
    • ginkgo : BDD 測試框架
    • go-carpet : 用於在終端中查看測試覆蓋率的工具
    • go-cmp : 用於比較測試中的 Go值的套裝軟體。
    • go-hit : 用golang編寫的 http 集成測試框架。
    • go-mutesting : Go語言原始程式碼突變測試(Mutation testing )
    • go-testdeep : 擴展了 go 測試包的極為靈活的golang 深度比較庫,。
    • go-vcr : 記錄並重放 HTTP交互,用於快速的、確定性的、準確的測試
    • goblin : 類似 Mocha 的測試框架
    • goc : Goc是一個針對 Go 程式設計語言的綜合覆蓋測試系統。
    • gocheck : 更加高級的測試框架,用於替換Gotest.
    • GoConvey : BDD 風格的測試框架,具有 web 介面和計時刷新功能
    • gocrest : 用於Go 斷言的可組合的類似hamcrest的匹配器。
    • godog : 類似於CucumberBehatGo BDD框架。
    • gofight : 對Go 語言的路由框架進行API 測試
    • gogiven : 類似 YATSPECGo BDD測試框架。
    • gomatch : 類似Rspec 的匹配器/斷言庫。
    • gomega : 類似Rspecmatcher/assertion
    • GoSpec : BDD風格的測試框架
    • gospecify : 支援 BDD語法 。對於任何使用過 rspec 等庫的人來說應該非常熟悉
    • gosuite : 羽量級測試套,為Go1.7's Subtests帶來了setup/teardown功能
    • gotest.tools : 用於增強 Go 測試包並支援常見模式的套裝軟體集合。
    • Hamcrest : 用於聲明式Matcher 物件的流暢框架,當應用于輸入值時,會產生自描述的結果。
    • httpexpect : 簡潔的、聲明式的、易用的端到端HTTP 及 REST API 測試
    • jsonassert : 用於驗證JSON有效載荷是否被正確序列化的套裝軟體。
    • restit : 説明編寫RESTful API集成測試的Go 語言微型框架.
    • schema : 對請求和回應中使用的JSON模式進行快速、簡單的運算式匹配。
    • stop-and-go : 併發測試助手。
    • testcase : 行為驅動開發的直觀測試框架。
    • testfixtures : 類似 Rails的測試工具,用於測試資料庫應用
    • Testify : 對標準測試包的擴展
    • testmd : 將markdown片段轉換為可測試的go代碼。
    • testsql : 在測試前從SQL檔中生成測試資料,並在測試結束後將其清除。
    • trial : 快速簡單的可擴展斷言,不需要引入太多範本。
    • Tt : 簡單而多彩的測試工具。
    • wstest : ` Websocket用戶端,用於對於 websocket HTTP.Handler`進行單元測試

  • Mock
    • counterfeiter : 用於生成自包含mock物件的工具
    • go-localstack : 在AWS測試中使用localstack的工具。
    • go-sqlmock : Mock SQL ,用於測試資料庫交互
    • go-txdb : 基於單事物的資料庫驅動,主要用於測試目的
    • gock : 多功能、易用HTTP mock
    • gomock : 給 Go 語言用的Mock框架
    • govcr : HTTP mock: 離線測試時記錄和重放流覽器的動作
    • hoverfly : HTTP(S) : proxy,用於記錄和類比REST/SOAP API,具有可擴展的中介軟體和易於使用的 CLI。
    • httpmock : 輕鬆模擬來自外部資源的 HTTP 響應。
    • minimock : Mock生成器
    • mockhttp : Go HTTP.ResponseWriter使用的 Mock 物件
    • timex : 原生時間包的測試友好的替代品。
  • Fuzzing and delta-debugging/reducing/shrinking.
    • go-fuzz : 隨機化測試系統
    • gofuzz : 用於生成隨機值來初始化Go語言物件的庫
    • Tavor : 通用模糊測試框架
  • Selenium及流覽器控制工具
    • cdp : 類型安全的的 Go 語言介面,可以用於流覽器或任何實現了 Chrome debug協定的其他待調試物件
    • chromedp : 用於驅動和測試Chrome, Safari, Edge, Android Webviews, 以及其他支援Chrome調試協定的產品
    • ggr : 羽量級伺服器,可以將 Selenium Wedriver 的請求路由或代理到多個Selenium hubs.
    • rod : Devtools驅動,使網路自動化測試變得簡單。
    • selenoid : ` Selenium hub`伺服器的替代品,可以在容器中啟動流覽器
  • Fail injection
  • 特定文本格式處理
    • align : 文本對齊
    • allot : 預留位置及萬用字元文本解析
    • bbConvert : 將bbCode 轉換為HTML
    • blackfriday : Markdown 解析器
    • bluemonday : ` HTML` 清理工具
    • codetree : 解析縮進代碼(python、pixy、scarlet等)並返回一個樹形結構。
    • colly : go語言版爬蟲框架
    • 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 : 製作支援多語言的漂亮slug
    • go-toml : TOML格式的Go庫,
    • go-vcard : 解析和格式化vCard
    • go-zero-width : Go的零寬度字元檢測和移除。
    • gofeed : 使用Go語言解析RSSAtom
    • gographviz : 用以解析Graphviz DOT 語言
    • gommon/bytes : 格式化二進位為字串
    • gonameparts : 將人名解析為幾個獨立的部分
    • goq : 聲明式HTML 編組,使用結構標籤和jQuery語法 (使用GoQuery).
    • GoQuery : GoQuery Go語言帶來了一組類似jQuery 的語法和功能
    • goregen : 根據規則運算式生成隨機字串
    • goribot : 簡單的golang爬蟲框架,3行代碼就可以創建爬蟲。
    • gotext : Go語言版本的GNU gettext工具。
    • guesslanguage : 用於確定unicode文本的自然語言的函數。
    • html-to-markdown : 將HTML轉換為Markdown。甚至適用於整個網站,並可通過規則進行擴展。
    • htmlquery : HTMLXPath 查詢包,讓您可以通過 XPath 運算式從HTML文檔中提取資料。
    • inject : 一個基於反射的注入器
    • ltsv : 適用於 Go 的高性能 LTSV(Labeled Tab Separated Value)閱讀器。LTSV (Labeled Tab Separated Value) :
    • mxj : 通過點分路徑和萬用字元來提取值 將 XML編解碼為 JSON map[string]interface{};目的是用於替代Replaces x2jj2x 包.
    • pagser : Pagser是一個簡單的、可擴展的、可配置的、基於goquerystruct標籤的golang 爬蟲解析和反序列化工具,能夠將html頁面映射到struct結構體中。
    • podcast : Golang中相容iTunesRSS 2.0的播客生成器。
    • sdp : SDP Session Description Protocol, RFC 4566實現
    • sh : Shell解析器及格式化工具
    • slug : URL友好的 slug 化工具,支援多種語言
    • Slugify : Go語言靜態位址生成器,可以處理字串
    • syndfeed : 適用於Atom 1.0和RSS 2.0的聚合feed
    • toml : TOML 配置格式的編碼解碼器
  • 文本工具
    • gofuckyourself : 敏感詞篩檢程式
    • gotabulate : 使用 Go輕鬆地列印你的表格資料。
    • kace : 涵蓋常見初始化的普通大小寫轉換。
    • parseargs-go : 能理解引號和反斜線的字串參數解析器。
    • parth : URL路徑分割解析庫。
    • radix : 快速字串排序演算法。
    • regroup : 使用struct標記和自動解析將規則運算式命名的組匹配到 go 結構中。
    • Tagify : 從給定的源中產生一組標籤。
    • textwrap : Pythontextwrap模組的實現。
    • TySug : 關於鍵盤配置的替代建議。
    • xj2go : 將xml或json轉換為go結構。
    • xurls : 從文本中提取URLs

      協力廠商API

      協力廠商API 匯總

  • airtable : 用於訪問Airtable API的 Go 用戶端庫。Airtable API :
  • amazon-product-advertising-api : ` Amazon Product Advertising API` 的 Go 用戶端庫。 Amazon Product Advertising API :
  • anaconda : Twitter 1.1 API的 go 語言用戶端
  • aws-sdk-go : ` AWS 提供的官方go語言 SDK`
  • brewerydb : 用於訪問BreweryDB API的 Go 語言庫
  • cachet : ` Cachet`(開源狀態頁系統)的Go用戶端庫。
  • Cachet (open source status page system) : Cachet (open source status page system)的 Go 語言用戶端
  • circleci : 用於和with CircleCI's API進行交互的 Go 語言用戶端
  • clarifai : 用於和 Clarifai API 交互的Go語言庫
  • codeship-go : 用於與 CodeshipAPI v2 進行交互的 Go用戶端庫。
  • coinpaprika-go : Go用戶端庫,用於與Coinpaprika的API進行交互。
  • discordgo : 用於與Discord 聊天 API進行交互的Go語言用戶端。
  • ethrpc : Ethereum JSON RPC API 的 Go 綁定
  • facebook : 支持 Facebook Graph API 的庫
  • fcm : 用於Firebase Cloud Messaging 的 Go 庫。
  • gads : Google Adwords 非官方 API
  • gami : Asterisk Manager Interface 的 Go 語言庫
  • gcm : Google Cloud Messaging
  • geo-golang : 用於與 Google Maps, MapQuest, Nominatim, OpenCage, Bing , Mapbox , 及 OpenStreetMap 地理編碼 / 反編碼 APIs 交互的庫
  • github : 用於訪問GitHub REST API v3Go庫。
  • githubql : 用於訪問GitHub GraphQL API v4Go 庫。
  • go-aws-news : 用於從AWS獲取最新資訊的 Go 應用程式和庫。
  • go-chronos : 用於與Chronos : Job Scheduler交互的Go庫。
  • go-hacknews : HackerNews API的Go用戶端。
  • go-here : 圍繞HERE基於位置的API的Go用戶端庫。
  • go-imgur : 用於imgur 的Go用戶端庫。
  • go-jira : 用於 Atlassian JIRA : 的Go用戶端庫。
  • go-marathon : 用於與MesosphereMarathon PAAS交互的Go庫。
  • go-myanimelist : 用於訪問 MyAnimeList API : 的 Go 用戶端庫。
  • go-postman-collection : Go 模組,用於與 Postman Collections : 進行交互(與 Insomnia 相容)。
  • go-sophos : Go用戶端庫,用於零依賴的 Sophos UTM REST API :
  • go-sptrans : 用於SPTrans Olho Vivo API的Go用戶端庫。
  • go-telegraph : Telegraph發佈平臺API用戶端。
  • go-trending :用於訪問Github的trending repositories庫和developers : 開發者資訊。
  • go-twitch : 用於與Twitch v3 API交互的Go用戶端。
  • go-twitter : 用於Twitter v1.1 APIs Go 用戶端庫。
  • go-unsplash : 用於Unsplash.comAPI 的 Go 用戶端庫。
  • go-xkcd : -xkcd API Go 用戶端。
  • gogtrends : Google Trends 非官方API
  • golang-tmdb : 電影資料庫API v3Golang 版本api
  • golyrics : 用於從Wikia 網站獲取音樂歌詞資料的 Go 庫。
  • gomalshare : ` Go library MalShare API`。 malshare.com :
  • GoMusicBrainz : Go MusicBrainz WS2用戶端庫。
  • google : 為Go 自動生成的Google API
  • google-analytics穀歌分析報告go語言用戶端。
  • google-cloud :Google Cloud APIs Go用戶端庫。
  • google-email-audit-api : :Google G Suite Email Audit API : 的Go用戶端庫。
  • google-play-scraper : 從`Google Play商店獲取資料。
  • gopaapi5 : Amazon Product Advertising API 5.0 : API 5.0的Go用戶端庫。
  • gosip : Go用戶端庫SharePoint API
  • gostorm : GoStorm在滿足實現了BoltsStorm外殼通信所需的通信協議的基礎上實現了Storm介面
  • hipchat : 這個項目為Hipchat API實現了一個golang用戶端庫
  • hipchat (xmpp) : 通過XMPPHipchat通信的golang包。
  • igdb : Internet Game Database API :的Go用戶端。
  • kanka : Kanka API 的Go用戶端
  • lastpass-go : LastPass : API的Go用戶端庫。
  • libgoffi : 用於本地 libffi 集成的庫適配器工具箱。
  • Medium : 用於MediumOAuth2 APIGolang SDK
  • megos : 用於訪問Apache Mesos集群的用戶端庫。
  • minio-go : go 語言Minio 用戶端,用於 Amazon S3 相容的雲存儲
  • mixpanel : Mixpanel 是用於追蹤事件並發送Mixpanel profile的更新到 Mixpanel 的庫
  • patreon-go : Patreon API.
  • paypal : PayPal支付API
  • playlyfe :Playlyfe Rest APIGo 語言SDK
  • pushover : Pushover APIGo語言封裝
  • rawg-sdk-go : 用於RAWG視頻遊戲資料庫API的Go庫。RAWG Video Games Database :
  • rrdaclient : 訪問statdns.com API,這是通過HTTP進行DNS查詢的RRDA API
  • shopify : 用於接入Spotify WEB APIGo 語言庫
  • simples3 : 簡單的不加修飾的AWS S3庫,使用Go編寫的V4 SigningREST api
  • slack : Slack API
  • smite : Go包,用於包裝對Smite遊戲API的訪問。
  • spotify : 訪問Spotify WEB APIGo 庫。
  • steam:用於與Steam遊戲伺服器交互的Go 庫。
  • stripe : 用於訪問Stripe APIGo用戶端。
  • textbelt : textbelt.com txt messaging APIgo語言用戶端
  • translate : ` Go` 線上翻譯包
  • Trello : Trello API Go 語言封裝
  • TripAdvisor : TripAdvisor API的Go語言封裝。
  • tumblr : Tumblr v2 APIGo 語言封裝
  • twitter-scraper : 無需認證和限制就能抓取Twitter 前端API
  • uptimerobot : Uptime Robot v2 APIGo包裝器和命令列用戶端。
  • vl-go : VerifID身份驗證層APIGo用戶端庫。
  • webhooks : GitHubBitbucketWebhook接收器
  • wit-go : 用於wit.ai HTTP APIGo 用戶端。
  • ynab : YNAB APIGo語言封裝。
  • zooz : Zooz APIGo語言用戶端

工具庫

可以提升效率的通用代碼庫和工具

  • apm : 具有HTTP APIGo語言進程管理工具.
  • backscanner : 類似於 bufio.Scanner 的掃描器,但它以反向順序讀取並返回結果。
  • beyond : Go工具,它將推動你進入AOP世界!
  • blank : 驗證或刪除字串中的空白和空白字元。
  • boilr : 用於從範本中快速創建專案的CLI工具。
  • chyle : 使用git倉庫的變更日誌生成器,具有多種配置
  • circuit : 高效且功能完整的Hystrix斷路器模式的go語言實現
  • circuitbreaker : Go中的斷路器。
  • clockwork : 使用簡單、流暢的語法來調度週期性任務
  • cmd : 用於在 osx、windowslinux上執行shell命令的庫。
  • command : 命令模式,支援執行緒安全的串列、並行調度
  • copy : 用於快速複製不同類型結構的套裝軟體。
  • copy-pasta : 通用多工作站剪切板,使用類似 S3 的後端作為存儲
  • countries : 完全執行ISO-3166-1、ISO-4217、ITU-T E.164、Unicode CLDR和IANA ccTLD標準的庫。
  • create-go-app : 通過運行一個命令就可以創建一個新的生產就緒專案,包括後端(Golang)、前端(JavaScript、TypeScript)和部署自動化(Ansible、Docker)的強大的CLI
  • ctop : 用於容器指標,類似於Top的介面(例如htop)。
  • ctxutil : 用於上下文context的實用函數集合。
  • dbt : 從中央可信倉庫運行自更新簽名二進位檔案的框架。
  • Death : -利用信號管理應用程式的關閉
  • Deepcopier : ` Go`的簡單結構拷貝庫。
  • delve : Go語言調試器
  • dlog : 編譯時控制的日誌,讓你的release 包變得更小而不需移除 debug調用
  • equalizer : Go的配額管理器和速率限制器。
  • ergo : 簡化了對運行在不同埠的多個本機服務的管理。
  • evaluator : 基於s-expression動態地評估一個運算式。簡單且易於擴展。
  • filetype : 用於推斷檔案類型的小套裝程式,它可以檢查魔法數位簽章。
  • filler : 使用"fill "標籤來填充結構的小工具。
  • filter : 提供 Go資料的過濾、淨化和轉換。
  • fzf : 命令列模糊查找工具
  • gaper : 當 Go 專案崩潰或某些監視檔發生變化時,構建並重新啟動該專案。
  • generate : 針對一個路徑或環境變數,遞迴的執行 Go generate,可以通過規則運算式來進行過濾
  • ghokin : 並行化的格式化程式,不需要對gherkin (cucumber, behat...),的外部依賴。
  • git-time-metric : 簡單、無縫、羽量級的 Git時間跟蹤。
  • go-astitodo : 解析GO代碼中的todo事項。
  • go-bind-plugin : 用於包裝 golang 外掛程式匯出的符號的go:generation工具 (僅限 1.8)。
  • go-bsdiff : 純粹的Go bsdiffbspatch庫以及CLI 工具。
  • go-convert : go-convert 使您能夠將一個值轉換為另一種類型。
  • go-countries : 羽量級的ISO-3166代碼查詢。
  • go-dry : go語言中DRY (don't repeat yourself)
  • go-funk : Go語言工具庫,提供了很多有用的工具(map, find, contains, filter, chunk, reverse, ...)
  • go-health : 簡化了你在服務中添加健康檢查的方式。
  • go-httpheader : 用於將結構體編碼進 http 頭的 Go 語言庫
  • go-lock : ` go-lock` 是一個實現讀寫互斥和讀寫試鎖的無饑餓狀態的鎖庫。
  • go-problemdetails : 用於處理問題細節的 Go包。
  • go-rate : ` Go` 語言版本的限速器
  • go-safe : panic處理安全沙箱。
  • go-sitemap-generator :XML網站地圖生成器
  • go-trigger : Go語言全域事件觸發器,通過 id 和觸發器,在程式的任何地方註冊事件
  • goback : Go語言的簡單的指數補償包
  • goctx : 獲取高性能的上下文值。
  • godaemon : 用於編寫守護進程的工具
  • godropbox : Dropbox開發的用於編寫 Go語言服務/應用的庫
  • gohper : 能夠説明你進行軟體發展的工具和模組
  • golarm : 告警(支援系統事件)庫
  • golog : 簡單、羽量級的命令後工具,用於對你的計畫任務進行跟蹤
  • gopencils :Go語言庫,能夠很容易的使用各種 REST APIs.
  • goplaceholder : 用於生成預留位置圖片的小golang庫。
  • goreadability : 使用Facebook Open Grapharc90的可讀性提取網頁摘要。
  • goreleaser : 盡可能快速的發佈Go語言二進位檔案
  • goreporter : 進行代碼靜態分析,單元測試,代碼檢視並生成代碼品質報告的工具
  • goseaweedfs : 具有幾乎全部功能的SeaweedFS用戶端庫。
  • gostrutils : 字串操作和轉換函數的集合。
  • gotenv : 從 .env 或者任何io.Reader中載入環境變數
  • gpath : 用於簡化結構體域訪問的庫
  • gubrak : 帶有語法糖的 Golang工具庫。它類似於lodash,但適用於 golang
  • handy : 許多實用工具和説明程式,如字串處理常式/格式化程式和驗證器。
  • hostctl : 用簡單的命令管理/etc/hosts CLI工具。
  • htcat : 並行及流水線的 HTTP GET 工具
  • hub : 封裝了git命令,提供了額外的功能用於在終端中和Github 進行交互
  • hystrix-go : 實現 Hystrix 風格的、程式師預定義的fallback 機制(熔斷)
  • immortal : *nix 跨平臺 (與作業系統無關的)監控程序
  • intrinsic : 不需要編寫任何彙編代碼就能使用x86 SIMD
  • jsend : JSend的實現是用Go編寫的。
  • jump : Jump通過學習你的習慣來幫助你更快地流覽檔。
  • koazee : 受Lazy評估和函數式程式設計啟發而開發的庫,它消除了使用陣列的麻煩。
  • lets-go : Go模組,為雲原生REST API開發提供了常用的實用工具。還包含AWS特定的實用程式。
  • limiters : Golang中分散式應用的速率限制器,具有可配置的後端和分散式鎖。
  • lrserver : GoLiveReload伺服器。
  • mc : Minio Client提供了與 Amazon S3相容的雲存儲和檔案系統管理工具。
  • mergo : Golang中合併結構和地圖的助手。對配置預設值很有用,避免了混亂的if語句。
  • mimemagic : 純go語言實現的超強的MIME嗅探庫/工具。
  • mimesniffer : GoMIME 類型嗅探器。
  • mimetype : 基於魔數的MIME類型檢測包。
  • minify : 快速壓縮HTML, CSS, JS, XML, JSON 以及 SVG 檔案格式
  • minquery : MongoDB / mgo.v2查詢,支援高效的分頁。
  • mmake : 現代Make工具
  • moldova : 基於輸入目標生成亂數據的工具
  • mole : 用於輕鬆創建ssh隧道的cli應用程式。
  • mongo-go-pagination官方mongodb/mongo-go-driver包的Mongodb Pagination,支持普通查詢和聚合管道。
  • mssqlx : 資料庫用戶端庫,代理任何主從,主主結構。考慮到羽量級和自動平衡。
  • multitick : 多工器
  • myhttp : 支持超時的HTTP GET請求的簡單API
  • netbug : 輕鬆地對你的服務進行遠端剖析。
  • nfdump : 讀取nfdump netflow文件。
  • nostromo : 用於構建強大別名的CLI
  • okrun : golang error流式處理庫
  • olaf : 在Go中實現的Twitter Snowflake
  • onecache : 支援多個後端存儲的緩存庫(Redis、Memcached、檔案系統等)。
  • panicparse : 將類似的goroutines分組,並對堆疊轉儲進行著色。
  • pattern-match : 模式匹配庫
  • peco : 簡單的互動式過濾工具。
  • pgo : 為PHP社區提供方便的功能。
  • pm : 帶有 HTTP API 的進程(即goroutine)管理器。
  • ptr : 提供從基本類型的常量中簡化創建指標的函數的包。
  • r : 類似於Python range() Go
  • rclient : 可讀性良好、靈活、易用的REST APIs 用戶端
  • realize : Go 語言構建系統,可以監控檔變化並重新載入。運行,構建,監控檔並支援自訂路徑
  • repeat : ` Go`實現不同的回退策略,對重試操作和心跳有用。
  • request : Go語言版的HTTP Requests for Humans™.
  • rerate : Go的基於Redis的速率計數器和速率限制器。
  • rerun : 當源碼發生變化時,重新編譯和重新運行go應用程式。
  • rest-go : 提供許多有用的方法來使用rest api的包。
  • retry : 最先進的功能機制,用於重複執行動作直到成功。
  • retry : 簡單但高度可配置的Go重試包。
  • retry : Go中簡單易行的重試機制包。
  • retry : 確保工作能夠完成的go語言庫。
  • retry-go : 為golang提供簡單易行的重試。
  • robustly : 彈性地運行函數,捕捉和重啟 並自動處理panic
  • scan : 直接將golang sql.Rows掃描為 structs、slicesprimitive類型。
  • scany : 用於將資料庫中的資料掃描成 Go結構等的庫。
  • serve : 靜態 http伺服器。
  • shutdown : 用於os.Signal 處理的應用程式關機鉤子。
  • silk : 讀取 silk netflow文件。
  • slice : 用於常見 Go分片操作的類型安全函數。
  • sliceconv : 原始類型之間的切片轉換。
  • slicer : 讓分片的工作更容易。
  • sorty : 快速併發/並行排序。
  • spinner : ` Go` 語言套裝軟體,提供多種選項,方便在終端中創建載入動畫
  • sqlx : 為內建的database/sql 套裝軟體提供擴展
  • statiks : 快速、零配置、靜態的HTTP檔案伺服器。
  • Storm : 用於BoltDB 的簡單又強大的工具
  • structs : 實現簡單的函數來操作結構。
  • Task : 簡單來講就是"Make"的替代品
  • taskctl : 併發任務運行庫。
  • tik : 為Go提供簡單方便的定時任務調度包。
  • tome : Tome被設計用來對RESTful API進行簡單分頁。
  • toolbox : slice, map, multimap, 結構體, 函數,資料轉換工具、服務路由,巨集求值和標記器工具
  • ugo : uGo是一個切片工具箱。
  • UNIS : Go語言字串處理函數的通用架構
  • usql : usql是一個通用的命令列介面,用於操作sql資料庫
  • util : 收集了很多有用的函數
  • wuzz : 互動式命令列程式,用於進行HTTP 檢查
  • xferspdy : Xferspdy 提供了二進位比對以及patch補丁功能

    UUID

    UUID 生成和操作庫

  • goid : 生成並解析符合 RFC4122標準的 V4 UUID
  • gouid : 只需一次分配就能生成加密安全的隨機字串ID
  • nanoid : 微型而高效的Go唯一字串ID生成器。
  • sno : 內嵌中繼資料的緊湊、可排序和快速的唯一ID
  • ulid : ULID (Universally Unique Lexicographically Sortable Identifier) Go實現。
  • uniq : 使用命令快速、安全的唯一識別碼。
  • uuid : 用快速或加密品質的隨機節點識別字生成、編碼和解碼UUIDs v1
  • uuid : 通用唯一識別碼(UUID)的實現。支持UUID的創建和解析。
  • uuid : 基於RFC 4122DCE 1.1UUIDs Go包。
  • wuid : 極快的唯一數位生成器,比UUID快10-135倍。

校驗庫

用於校驗的庫

  • checkdigit : 提供數位演算法(Luhn, Verhoeff, Damm)和數字計算(ISBN, EAN, JAN, UPC等)功能的庫。
  • gody : 針對 ‘Go` 的羽量級結構體驗證器。
  • govalid : 基於標籤的快速結構體驗證。
  • govalidator : 資料驗證及清晰工具,用於字串,數位, 陣列切片及結構體
  • govalidator : 用簡單的規則驗證Golang請求資料. 高度受Laravel的請求驗證的啟發.
  • jio : jio是一個類似於joi 的json模式驗證器.
  • ozzo-validation : 支援多種資料類型的驗證 (結構體,字串,鍵值對,陣列切片等等),具有可配置、可擴展的驗證規則,且使用常用代碼結構定義,而非結構體標籤
  • terraform-validator : Terraform的規範和約定驗證器。
  • validate : 用於資料驗證和過濾的Go包,支援驗證Map、Struct、Request(Form、JSON、url.Values、Uploaded Files)資料和更多的功能。
  • validate : 為Go語言程式編寫驗證工具的框架
  • validator : Go結構體及域驗證,包括:跨域、跨結構體,Map, 切片和陣列

    版本控制

    版本控制相關庫

  • gh : 用於 GitHub Webhooks的可程式設計伺服器以及net/HTTP 中介軟體
  • git2go : libgit2 Go語言介面
  • go-git : 純Go中實現高度可擴展的Git
  • go-vcs : 通過Go語言來操作和檢視 VCS代碼倉
  • hercules : 查看git repo歷史的代碼庫
  • hgo : HGo 是一個Go語言套裝軟體集合,提供了對本地 Mercurial倉庫的讀取能力.

    視頻

    視頻和流媒體相關庫

  • gmf : FFmpeg av*庫的 Go 語言介面.
  • go-astisub : 使用 Go 語言操作字幕(.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
  • go-astits : 在 GO 中解析和解調 MPEG 傳輸流(.ts)。
  • go-m3u8 : 蘋果m3u8播放清單的解析器和生成庫。
  • go-mpd : MPEG-DASH清單檔的解析器和生成器庫。
  • goav : 易用的 FFmpegGo 語言介面
  • gst : GStreamer的 Go 語言介面
  • libgosubs : ` Go的字幕格式處理庫。支持.srt、.ttml和.ass
  • libvlc-go : libvlc 2.X/3.X/4.X的go語言封裝)(VLC 媒體播放機使用)。
  • m3u8 : 用於蘋果HLSM3U8播放清單解析器和生成器庫
  • v4l : Go語言編寫的Linux下使用的視頻截圖庫

    web框架

    web 框架

  • aah : 可擴展、高性能、快速發佈的 Go語言web框架
  • Aero : Go的高性能Web框架,在Lighthouse 評比中拿到最高分
  • Air : 理想的RESTful web 框架
  • appy : 高效Web框架,幫助企業更容易擴展業務。
  • Banjo : 簡單、快速的Go web框架。
  • Beego : beeGo 是一個開源的、高性能的 Go 語言web框架
  • Buffalo : 為Go 語言帶來堪比 Rails 的高生產效率
  • Echo : 高性能、極簡的 Go語言web 框架
  • Fiber : 受 Express.js啟發的 Web 框架,構建在Fasthttp上。
  • Fireball : 更加自然的 web框架
  • Flamingo : 可插拔的web項目框架。包括模組的概念,並提供DI、Configareas、i18n、範本引擎、graphql、可觀察性、安全性、事件、路由和反向路由等功能。
  • Flamingo Commerce : 提供電子商務功能,使用簡潔的架構,如DDD、埠和適配器,你可以用它來構建靈活的電子商務應用。
  • Gearbox : 用Go編寫的網路框架,專注於高性能和記憶體優化。
  • Gin : ` Gin 是一個 Go 語言編寫的 web 框架,提供了一組類似martiniAPI`,且具有更好的性能(40倍的性能提升)。如果你需要高性能和高生產率,這個框架很適合你
  • Ginrpc : Gin參數自動綁定工具,Gin rpc工具。
  • Gizmo : 紐約時報正在使用對微服務工具集
  • go-json-rest : 快速、簡單的創建RESTful JSON API.
  • go-rest : Go 語言REST 框架
  • goa : 用於開發微服務的框架,基於RubyPraxis 的設計
  • Golax : 一個非Sinatra的快速HTTP框架,支持Google自訂方法、深度攔截器、遞迴等。
  • Golf : 快速、簡單、羽量級的Go 語言微型 web框架。具有強大的功能且沒有標準庫以外的依賴
  • Gondola : 用於快速編寫高性能網站的框架
  • gongular : 快速 Go web 框架,支持輸入映射/驗證以及依賴注入
  • goweb : 具有路由、websockets、日誌、中介軟體、靜態檔案伺服器(可選gzip)和自動TLS的Web框架
  • Goyave : 功能完整的Web框架,旨在實現簡潔的代碼和快速開發,具有強大的內置功能。
  • hiboot : hiboot是一個高性能的web應用框架,支援自動配置和依賴注入。
  • Macaron : Macaron是一個高效的模組化設計的web框架
  • mango : ManGo 是一個模組化web應用框架,受到Rack PEP333 的啟發
  • Microservice : 用於創建微服務的框架,使用 Go語言編寫
  • neo : 極小且快速的 Go 語言 web 框架,具有及其簡單的API
  • patron : Patron是一個遵循最佳雲實踐的微服務框架,專注於生產力。
  • Resoursea : 用於快速編寫基於資源的服務的REST框架。
  • REST Layer : 在資料庫之上構建REST/GraphQL API的框架,主要是通過配置而不是代碼來進行開發
  • Revel : go語言高生產率框架
  • rex : Rex 是一個用於進行模組化開發的庫,基於Gorilla/mux 完全相容大多數的net/HTTP
  • rux : 用於構建golang HTTP應用程式的簡單、快速的web框架。
  • tango : 微型的、支持外掛程式的web框架
  • tigertonic : 受到 Dropwizard 啟發,用於構建JSON web服務的 Go語言框架,
  • uAdmin : 受Django啟發的Golangweb框架,。
  • utron : 羽量級的go語言 MVC 框架
  • vox : Golang網路框架,靈感來自Koa
  • WebGo : 構建Web應用的微服務框架;具有處理常式鏈、中介軟體和上下文注入功能。具有標準庫相容的HTTP處理常式(即http.HandlerFunc)。
  • YARF : 微服務框架,用於快速、簡單地構建REST APIs以及 web 服務

    中介軟體

    中介軟體

  • client-timing : 在消息頭部添加伺服器定時資訊的HTTP用戶端。
  • CORS : 非常方便地向你的api中添加 CORS功能
  • formjson : 以標準的表單POST方式處理JSON輸入。
  • go-fault : Go的錯誤注入中介軟體。
  • go-server-timing : 向頭資訊中 添加/解析伺服器計時資訊。
  • Limiter : 超級簡單的限速中介軟體
  • ln-paywall : Go 中介軟體,用於通過Lightning Network (Bitcoin) 請求將API 貨幣化。
  • Tollbooth : HTTP 請求限速中介軟體
  • XFF : 理X-Forwarded-For頭的中介軟體

創建http中介軟體的代碼庫

  • alice : 創建鏈式中介軟體的庫
  • catena : HTTP.Handler封裝器 (和chain具有相同的 API ).
  • chain : 可以帶資料的Handler 鏈式封裝器(net/context-based "middleware").
  • go-wrap : 小型中介軟體庫,用於net/HTTP.
  • gores : 用於處理HTML, JSON, XML 等。對於RESTful APIs 很有用。
  • interpose : 極簡的net/HTTP 中介軟體
  • mediary : 為 http.Client 添加攔截器,允許轉儲/重構/跟蹤/…請求/回應。
  • muxchain : 用於net/HTTP的羽量級中介軟體
  • negroni : 符合語言習慣的HTTP中介軟體庫
  • render : 用於輕鬆渲染JSON, XML, 及HTML 範本回應的庫
  • renderer : 簡單、羽量級和更快的回應JSON、JSONP、XML、YAML、HTML、File的Go渲染包。
  • rye : 小型 Go 語言中介軟體庫 ,支援JWT, CORS, Statsd, 及Go 1.7 context
  • stats : Go語言中介軟體,用於存儲web應用的多種資訊

    路由

  • alien : 羽量級、超快速的HTTP 路由,
  • bellt : 一個簡單的Go HTTP路由器。
  • Bone : 輕量、快速的HTTP 多工器
  • Bxog : 為go語言編寫的簡單、快速的HTTP路由。它能夠根據接收到的參數創建 URL,並且能夠解析多種不同複雜度、長度和嵌套的路由。
  • chi : 基於net/context的小巧、快速、具有豐富表達力的HTTP路由.
  • fasthttprouter : 從httprouter分叉出來的高性能路由器,也是第一個適合fasthttp的路由器。
  • FastRouter : 從httprouterfork出來的高性能路由,是第一個適配fasthttp的路由
  • gocraft/web : Mux及中介軟體包
  • Goji : Goji是一個極簡的、靈活的HTTP 請求資料分選器,支援net/context.
  • goroute : 簡單而強大的HTTP 請求複用器。
  • GoRouter : server/API微服務框架,具有HTTP 請求路由模組 router模組, 多工模組並且提供了支援net/context的中介軟體 :
  • gowww/router : 超快的HTTP 路由,完全相容net/HTTP.Handler介面.
  • httprouter : 高性能路由,使用這個庫和標準http處理工具可以構建一個非常高性能大web框架
  • httptreemux : 快速,靈活,樹狀結構的 HTTP路由。受到了 httprouter 的啟發
  • lars : 羽量級、快速、可擴展、零分配的HTTP路由,用於創建定制化的框架
  • mux : 強大的URL路由和分發庫
  • ozzo-routing : 極快的 Go (golang) HTTP路由器,支持規則運算式路由匹配。完全支持構建RESTful API
  • pure : 是一個羽量級http路由,嚴格參照net/HTTP標準實現
  • Siesta : 具有可組合性的框架,用於編寫中介軟體和handlers
  • vestigo : 用於構建go語言web應用 ,高性能、符合 HTTP 標準的URL 路由,
  • violetear : Go http路由庫
  • xmux : 高性能 muxer,基於 httprouter ,支援 net/context
  • xujiajun/gorouter : 簡單快速的go HTTP路由器。

    WebAssembly

  • dom : DOM庫
  • go-canvas : 使用HTML5 Canvas 的庫,所有的繪圖邏輯都在go代碼中執行。
  • tinygo : 基於LLVM,適用於微型場景的Go編譯器。包括微控制器、WebAssembly和命令列工具。
  • vert : GoJS值之間的交互操作。
  • wasmbrowsertest : 在流覽器中運行Go WASM測試。
  • webapi : 從WebIDL生成DOMHTML的封裝。

    Windows

  • d3d9 : Direct3D9Go 語言封裝
  • go-ole : 為Go語言實現的Win32 OLE
  • gosddl : 從SDDL-string到用戶友好的JSON的轉換器。SDDL由四個部分組成。Owner、Primary Group、DACL、SACL

    XML

  • XML-Comp : 命令列 XML比較工具,可以生成關於目錄、檔和標籤對差異資訊
  • xml2map : Golang編寫的XMLMAP的轉換器。
  • xmlwriter : 基於 libxml2xmlwriter 模組的xml生成器api.
  • xpath : XPath
  • xquery : XQuery 使你可以使用XPath運算式從 HTML/XML文檔中抽取資料和求值,
  • zek : 從 XML 生成一個 Go結構體。

    相關工具

    go相關工具和外掛程式

    代碼分析

  • apicompat : 檢測go語言專案最近的變化,用於監測不能向後相容的代碼修改
  • dupl : 用於檢測重複代碼的工具
  • errcheck : Errcheck是一個用於檢測go語言程式中存在未處理錯誤的程式
  • gcvis : 即時地將Go 語言垃圾回收進行視覺化
  • go-checkstyle : checkstyle是一個類似java checkstyle的 代碼風格檢查工具,這個工具受到java checkstyle Golint 的啟發
  • go-cleanarch : Go-cleanarch用於檢查代碼是否符合簡潔架構的相關法則,比如依賴法則以及你的Go語言專案中各個庫的交互情況
  • go-critic : 原始程式碼檢查器,它帶來了目前其他檢查器沒有實現的檢查。
  • go-mod-outdated : 一種查找 Go專案中過時的依賴關係的簡單方法。
  • go-outdated : 用於顯示過時的庫的命令列工具
  • goast-viewer : 基於Web Golang AST 視覺化工具.
  • GoCover.io : GoCover.io可以查看任何go語言套裝軟體的代碼覆蓋率
  • goimports : 用於自動修復,添加,刪除你的 Go 語言專案的 import
  • golines : 自動縮短 Go 代碼中長行的格式化器。
  • GoLint : 針對 Go 語言源碼的 lint 工具
  • Golint online : 使用golintGitHub, Bitbucket 以及 Google Project Hosting上面的Go語言原始檔案進行靜態分析
  • GoPlantUML : 生成文本plantUML圖的庫和CLI,包含結構和介面的資訊以及它們之間的關係。
  • goreturns : 添加零值return 語句以符合函數返回數值型別
  • gosimple : 針對 Go 語言的lint工具,專注於簡化代碼
  • gostatus : 命令列工具,查看當前 Go 語言套裝軟體倉庫的狀態
  • lint : 運行linters作為Go測試的一部分。
  • php-parser : Go編寫的PHP解析器。
  • staticcheck : -staticcheckGo vet階段中執行大量的靜態分析檢查,類似ReSharper for C#這樣的工具。
  • tarp : tarp可以在 Go原始程式碼中找到無需直接單元測試的函數和方法
  • tickgit : 用於顯示代碼注釋TODO(任何語言)的CLI和go包,並應用git blam來識別作者
  • unconvert : 從go語言代碼中移除不必要的類型轉換
  • unused : unused會檢查 Go 語言代碼中沒有用到的常量,變數,函數和類型
  • validate : 根據結構體tag自動驗證結構體欄位

    編輯器外掛程式

  • Go plugin for JetBrains IDEs :JetBrains IDEs 使用的Go語言外掛程式
  • go-language-server : 用於將 VSCode go 擴展變為支援語言伺服器協定的GO代碼封裝庫
  • go-mode : ` GNU/EmacsGo`語言模式
  • go-plus : 供Atom 使用的自動補全、格式化、語法檢查、lintVetting 的套裝軟體
  • gocode : go語言自動補全
  • goimports-reviser : 用於導入的格式化工具。
  • goprofiling : 這個擴展為 VS Code增加了對 Go語言的基準分析支援。
  • GoSublime : SublimeText 2 使用的 Go 語言外掛程式,支援代碼補全以及一些類似 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 : 當檔變動時,在 acme窗口中執行命令

    Go 代碼生成工具

  • generic : 針對Go的靈活資料類型。
  • genny : 為 Go提供優雅的泛型。
  • gocontracts : 通過同步代碼和文檔,將按合約設計引入 Go
  • gonerics : Go泛型。
  • gotests : 根據原始程式碼生成Go測試代碼。
  • gounit : 使用你自己的範本生成Go 測試代碼。
  • hasgo : 為slices生成Haskell的啟發函數。
  • re2dfa : 將規則運算式轉換為有限狀態機並輸出Go原始程式碼。
  • TOML-to-Go : 在流覽器中將 TOML轉成 Go 類型。
  • xgen : ` XSD (XML Schema Definition) 解析器,能夠生成Go/C/Java/Rust/Typescript`代碼

    Go 工具

  • colorgo : 對 Go 命令進行了封裝,用於為Go build的輸出結果添加顏色
  • depth : 通過分析導入的庫,將某個包的依賴關係用樹狀結構進行顯示
  • gb : 針對Go語言的專案的構建工具,
  • generator-go-lang : 生成Yeoman : 新項目的生成器 。
  • gilbert : Go專案的構建系統和任務運行器。
  • go-callvis : 使用dot語言將你的 Go 語言程式函式呼叫關係視覺化
  • go-james : Go專案骨架創建服務,無需手動設置即可構建和測試你的項目。
  • go-pkg-complete : Bash代碼補全,用於GowGo.
  • go-swagger : 為 Go 語言實現的Swagger 2.0.
  • godbg : Rusts dbg!宏的實現,用於在開發過程中進行快速和簡單的調試。
  • gomodrun : 用於執行和緩存包含在go.mod文件中的二進位檔案的Go工具。
  • gothanks : GoThanks 會自動為你的go.mod github依賴項加星。
  • igo : igogo的轉換器(Go語言的新語言特性!)。
  • OctoLinker : - 使用github 的流覽器外掛程式 OctoLinker高效流覽Go 語言檔
  • richgo : 用文本裝飾豐富go代碼測試輸出。
  • rts : RTS(是response to struct的縮寫)用於根據伺服器的回應生成 Go語言結構體
  • typex : 檢查Go類型和它們的轉換依賴關係,或者將結果匯出為TypeScript值物件(或類型)聲明。

    套裝軟體

    Go語言開發的軟體工具

    devops 工具

  • aptly : aptly是一個 Debian庫管理工具
  • aurora : 跨平臺、基於web的 Beanstalkd佇列伺服器控制台
  • awsenv : 載入Amazon (AWS) 環境變數作為 profile
  • Blast : 一個簡單的API負載測試和批量作業管理的工具。
  • bombardier : 快速的、跨平臺的HTTP基準工具.
  • bosun : 基於時間序列的告警框架
  • cassowary : 用Go編寫的現代跨平臺HTTP負載測試工具。
  • DepCharge : 幫助管理大型專案中眾多依賴關係的命令。
  • Dockerfile-Generator : 包含go代碼庫和可執行檔,其可以利用各種輸入管道資訊生成有效的Dockerfiles。
  • dogo : 監控原始檔案中的變化並自動編譯和執行
  • drone-jenkins : 可以通過二進位檔案、 docker或者 Drone CI來觸發下游Jenkins 任務,
  • drone-scp : 通過 SSH 拷貝檔及可執行程式,可以通過二進位檔案、 docker 或者Drone CI來使用
  • Dropship : 通過 cdn部署代碼的工具
  • easyssh-proxy : 一個用於通過 ssh 遠端執行命令以及可通過ProxyCommand 來進行 SCP 下載
  • fac : 用於修復git合併衝突的命令列使用者介面。
  • gaia : 利用任何程式設計語言都可以構建強大的管道的庫。
  • Gitea : 社區驅動的Gogsfork
  • gitea-github-migrator : 將所有的` GitHub 倉庫、問題、里程碑和標籤遷移到 Gitea 實例中。
  • go-furnace : 用Go編寫的託管解決方案。在AWS、GCPDigitalOcean上輕鬆部署你的應用程式。
  • go-selfupdate : 讓你的 Go 語言程式可以自我更新
  • gobrew : Gobrew讓你可以在不同版本的 Go 語言之間輕鬆切換
  • godbg : 基於Web 的前端 gdb 應用程式
  • Gogs : 自我託管的Git服務
  • gonative : 為Go 語言創建可以在多平臺進行交叉編譯的工具,使用CGo-enabled標準庫
  • govvv : 對Go build進行了封裝,用於輕鬆的向 Go 語言二進位檔案中添加版本資訊
  • gox : 非常簡單的Go語言交叉編譯工具
  • goxc : ` Go` 語言構建工具,專注於交叉編譯和打包
  • grapes : 一款羽量級工具,用於通過 ssh發送命令
  • GVM : ` GVM提供了用於管理Go`語言版本的介面
  • Hey : Hey是一個微型程式,用於向web 應用發送負載
  • jcli : Jenkins CLI允許你以一種簡單的方式管理你的Jenkins
  • kala : 極簡、現代的、高效的任務調度
  • kcli : 用於檢查kafka主題/分區/消息的命令列工具。
  • kubernetes : 來自Google的容器集群管理器
  • lstags : 在不同的註冊表中同步Docker鏡像的工具和API
  • lwc : UNIX wc命令的即時更新版本。
  • manssh : ` manssh`是一個命令列工具,用於輕鬆管理ssh別名配置。
  • Moby : 為容器生態系統創建的一個合作專案,用於構建基於容器的系統
  • Mora : REST 伺服器,用於獲取MonGoDB檔和中繼資料
  • ostent : 收集並顯示系統資料,可以作 Graphite和/或InfluxDB 的中介軟體
  • Packer : Packer通過單一的設定檔,為不同的平臺創建獨立鏡像
  • Pewpew : 靈活的HTTP命令列壓力測試工具
  • Pomerium : Pomerium是一個身份感知的訪問代理。
  • Rodent : ` Rodent 説明你管理 Go`語言版本、專案、和追蹤依賴
  • s3-proxy : S3代理,具有GET、PUTDELETE方法和認證(OpenID ConnectBasic Auth)。
  • s3gof3r : 為了從Amazon S3中高速存取大型物件而特別優化的庫
  • s5cmd : 快速的 S3 和本地檔案系統執行工具。
  • Scaleway-cli : 通過命令列來管理 裸金屬伺服器 (和使用Docker一樣容易)。
  • script : 在Go中輕鬆編寫類似shell的腳本,用於DevOps和系統管理任務。
  • sg : 對一組HTTP 鉤子(如ab)進行基準測試,可以使用每次調用之間的回應代碼和資料,根據其之前的回應來確定特定的伺服器壓力。
  • skm : SKM是一個簡單而強大的SSH金鑰管理器,它可以幫助您輕鬆管理您的多個SSH金鑰。
  • StatusOK : 監控你的網站和 REST APIs。如果你的伺服器掛了或是回應時間超過預期,則會通過Slack,E-mail來通知你
  • terraform-provider-openapi : Terraform provider外掛程式,可以在運行時根據包含API定義的OpenAPI文檔(以前稱為swagger檔)動態配置自己。
  • traefik : 能對接多個後端的反向代理和負載等化器。
  • trubka : CLI工具,用於管理Apache Kafka集群並排除其故障,能夠向Kafka發佈/消費協議緩衝區和純文字事件。
  • uTask : 自動化引擎,可對yaml中聲明的業務流程進行建模和執行。
  • Vegeta : HTTP 加載測試工具和代碼庫
  • webhook : 允許用戶創建HTTP鉤子,並在伺服器上執行命令
  • Wide : 基於 Web IDE,為使用 Go語言的團隊設計
  • winrm-cli : 命令列工具,可以遠端在 windows機器上執行命令

    其他軟體庫和套裝軟體

  • Better Go Playground : 具有語法高亮、代碼補全等功能的playground
  • borg : 基於終端的搜尋引擎,用於搜索 bash代碼片段
  • boxed : 基於Dropbox的博客引擎
  • Cherry : Go語言實現的一個微型網路聊天伺服器
  • Circuit : Circuit是一個可程式設計的PaaS以及IaaS,用於管理、發現以及編排各種雲端應用的服務及主機
  • Comcast : 類比網路波動情況下的網路資料連接
  • confd : 使用etcd consul來管理本地應用的設定檔
  • croc : 輕鬆安全地將檔或資料夾從一台電腦發送到另一台電腦。
  • Docker : 一個為開發者和系統管理員提供的針對分散式應用的開源平臺
  • Documize : 維琪軟體,可以使用SaaS工具提供的資料
  • dp : 與區塊鏈進行資料交換的SDK,開發者可以輕鬆進行DAPP的開發。
  • drive : 命令列版本的Google Drive用戶端。
  • Duplicacy : 跨平臺網路和雲備份工具
  • Gebug : - 一個通過啟用Debugger和熱載入功能,讓Docker容器化後的Go應用調試變得超級簡單。
  • gfile : 無需任何協力廠商工具通過WebRTC在兩台電腦之間安全傳輸檔。
  • Go Package Store : 一個可以顯示你的GoPATH 路徑下Go套裝軟體的應用
  • go-peerflix : 視頻流下載用戶端。
  • GoBoy : 用Go編寫的任天堂遊戲機顏色模擬器。
  • gocc : Go語言編寫的Go語言編譯器工具集
  • GoDocTooltip : 用來顯示go語言文檔的chrome流覽器外掛程式
  • GoLand : 跨平臺、全功能Go 語言整合式開發環境
  • Gor : Http 流量複製工具,用於將生產環境的流量在開發環境進行重放
  • Guora : 一個用Go編寫的類似於Quora的問答網路應用。
  • hugo : - 快速、現代的靜態web引擎
  • ide : 為Go語言設計可以在流覽器的IDE
  • ipe : Go語言編寫的開源Pusher伺服器,相容 Pusher用戶端。
  • joincap : 用於合併多個pcap檔的命令列工具。
  • Juju : 服務部署及編排工具,,支援EC2,Azure,Openstack,MAAS 等等
  • Leaps : 結對程式設計服務,使用操作變換來避免衝突。
  • lgo : 使用Jupyter進行互動式程式設計。它支持代碼補全、代碼檢查,100%相容Go
  • limetext : Lime Text 是一個強大又優雅的編輯器,主要使用Go 語言開發,意在成為Sublime Text的繼承者。
  • LiteIDE : LiteIDE 是一個簡單、開源、跨平臺的 Go語言 IDE
  • mockingjay : 偽HTTP伺服器,通過單一設定檔構造訪問請求。同時你還可以讓伺服器提升負載,以進行更加符合現實情況的性能測試
  • myLG :Go語言編寫的命令列網路診斷工具
  • naclpipe : 簡單的基於NaCL EC25519 的加密管道工具
  • nes : Go 語言編寫的任天堂(NES)模擬器
  • orange-cat : Go語言編寫的 Markdown預覽工具
  • Orbit : 運行命令和從範本生成檔的簡單工具。
  • peg : Peg(Parsing Expression Grammar)是一個Packrat parser generator的實現
  • restic : 解耦備份程式
  • scc : 一個非常快速準確的代碼計數器,具有複雜度計算和COCOMO估計功能。
  • Seaweed File System : 快速、簡單、可擴展的分散式檔案系統,具有O(1)的磁片查找效率
  • shell2http : 通過HTTP伺服器執行shell命令列(用於原型驗證或遠端控制)。
  • snap : 強大的遙測框架
  • Snitch : 當通過Tsuru部署應用程式時,可以簡單快速的通知團隊的工具
  • Stack Up : Stack Up是一個超級簡單的開發工具,就好比是伺服器網路的make工具
  • syncthing : 開源、去中心化的檔同步工具和協議
  • tcpprobe : -TCP工具,用於網路性能和路徑監控,包括通訊端統計等。
  • term-quiz : 終端測試庫。
  • toxiproxy : 用於自動化測試中類比網路和系統狀態的代理服務。
  • tsuru : 可擴展的、開源的SAAS 軟體
  • vaku : 為Vault中基於資料夾的功能如複製、移動和搜索提供CLIAPI
  • vFlow : 高性能、可擴展、可靠的IPFIX,sFlowNetflow集合.
  • wellington : Sass項目管理工具, 通過支持一些功能(例如Compass)擴展了這門語言
  • woke : 檢測原始程式碼中的排他性程式碼片段。