Awesome
- GitHub Topic for Go
- Awesome Go
- golang-open-source-projects - 含描述的中文版 Awesome Go
- Awesome Go Storage - Go 存儲相關開源項目
- awesome-go-China - 專門收集華人寫的開源項目
- Go Patterns - Go 版本的設計模式
- sevenelevenlee/go-patterns - 設計模式
- go-algorithms - Go 版本的數據結構和算法
- Go 學習之路 - Go 學習資料彙集
- Go 開發者路線圖
大牛
Go 語言方面的大牛,或者優秀 Go 項目的組織
- mattn - 寫了數百個 Go 項目,盛產優質項目
- Unknwon - gogs/macaron 等項目作者,《The Way to Go》譯者
- Jinzhu - gorm/QOR 等作者
- valyala - fasthttp/fastjson 等作者
- vmihailenco - go-redis/go-pg 等作者
- kataras - iris 作者
- bep
- spf13
- Uber - Open Source Software at Uber
- Gorilla web toolkit
- Stretchr - Tame your unstructured data
- Containous
- lestrrat-go
- HashiCorp
- juju
- tidwall
文檔
- Go 語言設計與實現
- Go 語言原本
- Go 101 (中文版)
- Go 官方入門指南
- Go 語言高級編程
- Go 專家編程
- Go 編程語言
- Golang 標準庫文檔(官方/中文)
-
Go 語言標準庫
在線閱讀
- 《The Way to Go》中文版
- Go 語言聖經(中文版)
- Go語言入門教程
- Go 實戰開發
- Go Web 應用開發
- Go 學習技能樹
- 實效 Go 編程
- Go 語言語法詳解筆記
- Go 語言學習資料與社區索引
- Go database/sql tutorial
- GO 命令教程
- 深入解析 Go
- Go 語言博客實踐
- 學習 Go 語言
- Go2編程指南
- Go database/sql tutorial - Go 數據庫(database/sql)開發使用教程
- Go Web Examples - Go Web 開發示例
- Go Assembly - 通過示例介紹 Go 彙編功能
- Ultimate Go - 終極 Go 學習指南,包含大量文檔化的代碼和程序分析
- Go 教程 - 騰訊雲開發者手冊
- Golang 開發筆記
- golang-notes
- The Little Go Book (中文版)
- Learning Go — from zero to hero
- go-internals - 深入理解 Go
- Learn Go with Tests
- Go基礎教程
- 7天用Go從零實現系列
- Golang - 100天從新手到大師 - 某培訓機構的部分教程內容
- algo - 107+ 編碼面試問題,包括詳細的解決方案,測試用例和程序分析
- over-golang - Go 學習筆記
- over-algorithm - Go 算法筆記
- learngo - 1000+ Go 示例、練習和測試
- go-leetcode - LeetCode 實現
指南
- Uber Go Style Guide
- The Go Programming Language Specification (中文老版)
- 實效 Go 編程
- Go Code Review Comments
- Go Code Convention
- Go FAQ 101
- Go Details 101
- Go Tips 101
- Go Quizzes 101
- go-advices
- go-perfbook - 編寫和優化Go代碼
- Practical Go: Real world advice for writing maintainable Go programs (Go 語言實踐:編寫可維護的程序的建議)
文章
- Go語言愛好者週刊
- Go 夜讀 - Go 標準包、開源項目源代碼閱讀講解
- Go-Questions - Go 語言學習入門和進階知識
- Go的50度灰:Golang新開發者要注意的陷阱和常見錯誤
- Go 程序的性能優化及 pprof 的使用
- gops - Go語言程序查看和診斷工具
- Go源碼分析——http.ListenAndServe()是如何工作的
- GoConvey 框架使用指南
- GoStub 框架使用指南
- GoMock 框架使用指南
- Monkey 框架使用指南
付費教程
- 基於 Go 語言構建企業級的 RESTful API 服務 - 掘金小冊
- Go語言核心36講 - 極客時間
成品項目
- studygolang - Go 語言中文網
- Hugo - 靜態網站生成器
- jrnl - 靜態網站生成器
- mkcert - 生成本地 HTTPS 加密證書的工具
- Rainbond - 基於Docker、Kubernetes等容器技術的開源PaaS
- NYADB2 - Go 實現的關係型數據庫, 值得用於學習
-
EiBlog -
國產
博客 - pan-light - 不限速的百度網盤客戶端, 基於 Go + Qt5 開發
- BaiduPCS-Go - 百度網盤客戶端
- daily-warm - 每天定時發郵件給你關心的人
- pipe - 博客平臺
- mdr - 命令行下的 Markdown 閱讀工具
- 鏈滴筆記 - 桌面端筆記應用
學習項目
-
1m-go-websockets - 該項目演示瞭如何用 Go 編寫一個可以提供超過一百萬個
websockets
連接、運行內存小於 1GB 的服務器 - Go by Example - 通過實例學習 Go
開源類庫
Web 框架
-
Macaron - 一款具有高生產力和模塊化設計的 Go Web 框架
國產
-
Beego - 一個使用 Go 的思維來幫助您構建並開發 Go 應用程序的開源框架
國產
- Gin - 輕量 Web 框架
- Iris - Web 開發框架
- Revel
- echo
- chi
-
Faygo -
國產
- Teleport - Socket 框架
-
GoFrame -
國產
- QOR - 系列應用開發組件包
- Buffalo
-
DotWeb -
國產
- REST Layer - REST API framework
- Honeytrap
- Ponzu
- utron
- muxie
- Buffalo - 快速生成 Web 項目的開發工具
- go-web-framework-benchmark
- fiber - 一種 Express 風格的、基於 fasthttp 的 HTTP Web 框架
- aah
業務框架
- GoAdminGroup/go-admin - 後臺管理快速開發框架,與 laravel-admin 類似
- wenjianzhang/go-admin - 基於 Gin + Vue 實現的後臺框架
- gin-vue-admin - 基於 Gin + Vue 實現的後臺框架
- goxygen - 基於 Go, React, MongoDB 技術實現的全棧應用生成器
- nging - Go語言通用後臺管理框架
- snake - 業務API框架
項目骨架
- Standard Go Project Layout - Go 項目目錄結構示例
- go-starter - Adobe 的 Go 工程模板
- go-clean-arch
- go-rest-api - Go RESTful API Starter Kit
TCP 框架
- zinx - TCP併發服務器框架
中間件
- Negroni - Web 中間件
- csrf - CSRF 中間件
-
handlers - A collection of useful handlers for Go’s
net/http
package
併發
- SizedWaitGroup - 併發控制
- concurrent - concurrency utilities
命令行
- urfave/cli - 命令行程序構建工具
- Cobra - 命令行構建包
- GoTTY - 基於Web的命令行實時共享
- progressbar - 在終端上輸出進度條
- cheggaaa/pb - 終端進度條
- mpb - 支持多個進度條
- Color - 命令行文字顏色
- termui - 終端儀表盤
- gosu - 以指定的用戶權限來運行腳本
- tui - 終端 UI
- gotop - 類 top 系統監控顯示
- go-colorable - Colorable writer for Windows
- go-isatty - TTY 環境判斷
- fzf - 命令行下的文件 Finder
- flaggy - 命令參數解析
- go-daemon - daemon 進程包
- pflag - 命令行參數處理
- PIXterm - 在命令行終端中繪圖
- WTF - 一個命令行的信息儀表盤,可以定製顯示內容
- go-prompt - 命令行交互式輸入
- peco - 交互式過濾工具
- termenv - 終端應用程序的高級 ANSI 樣式和顏色支持
- asciigraph - 在終端中繪製 ASCII 字符的圖表
- spinner - 涵蓋70多種符號或進度條的控制器
- tablewriter - 終端中輸出表格內容
- clop - 命令行解析包
- go-flags - 命令行參數解析
- termdash - 基於 Go Terminal 的儀表板系統
路由
- HttpRouter
- mux - URL 路由和調度器
- gocraft/web
- go-querystring - 轉換結構體爲URL請求參數
- CleverGo
網絡
- DNS - DNS 庫
- CoreDNS - DNS 服務器
- Caddy - Web 服務器
-
RoadRunner - PHP 應用服務器、進程管理器、負載均衡,用於替代
Nginx + FPM
- Traefik - 反向代理&負載均衡
- GoReplay - 流量收集&回放
- Sharingan - 滴滴開源的流量錄製回放工具
- p2pspider - 種子嗅探器
- Proxy - golang 實現的高性能代理服務器
- ProxyPool - 採集免費的代理資源爲爬蟲提供有效的IP代理
- frp - 可用於內網穿透的高性能的反向代理應用
- nps - 一款輕量級、高性能、功能強大的內網穿透代理服務器
- torrent - BitTorrent 相關工具庫
- rain - BitTorrent 客戶端和庫
- httpteleport - Teleports 10Gbps http traffic over 1Gbps networks
- FIND3 - WiFi 設備發現
- SubFinder - 子域名發現工具
- ggz - 短網址服務
- httpstat
- grab - 文件下載
- go-netty - 網絡框架
- httplab - The interactive web server
- yamux - Multiplexer
- sftp - SFTP support for the go.crypto/ssh package
- evio - 事件驅動網絡框架(reactor 模式)
- gaio - 事件驅動網絡框架(proactor 模式)
- httpretty - 在終端上漂亮地打印出 HTTP 請求
- blocky - 作爲局域網 DNS 代理攔截廣告
HTTP壓測
- Vegeta - HTTP 負載壓測工具
- hey - Web 壓測工具
- bombardier - Web 壓測工具
- go-wrk
HTTP
-
fasthttp - 比
net/http
快 10 倍的 HTTP 工具包 - Resty - HTTP & REST 客戶端包
- gout - HTTP 客戶端
- gentleman - HTTP 客戶端
- goz
- UserAgent - 解析 HTTP User Agent
- purell - URL 規範工具包
WebSocket
- gorilla/websocket
- nhooyr/websocket - 官方推薦的包
- websocketd - Go 開發的一鍵搭建 WebSocket 服務器命令行工具
- ws - WebSocket 開發包
- melody - WebSocket 服務框架
- neffos - 一個快速且可擴展的 WebSocket 框架
IM/實時通信
- Centrifugo - 實時消息服務器,可以與任何語言編寫的應用程序後端結合使用
- goim - 支持集羣的 im 及實時推送服務
- Tinode - 即時消息服務器,通過 websocket/JSON 或 gRPC/TCP 等協議傳輸
網關
- GoKu API Gateway CE - eoLinker 開源的 API 網關
序列化/解壓縮
- vmihailenco/msgpack - 支持 msgpack
- go/codec - 支持 msgpack/binc/cbor/json
- protobuf - Go 版本的 Protocol Buffers
- Objx - 操作 map, slice, JSON 等數據的包
- snappy - Go 語言版本的 Snappy
RPC
- gRPC-Go - gRPC 官方包
- gorpc
- gorilla/rpc - 構建基於 HTTP 的 RPC 服務,比如 JSON-RPC
- Lile - gRPC 服務構建包
- rpcx
- Twirp - 基於 Protobuf 的 RPC 框架,與 gRPC 類似
- lile - gRPC 服務生成工具
郵件
- gomail - 郵件發送包
- scorredoira/email
- Hermes - Go 版本的 mailgen 引擎,根據配置生成 HTML 格式的郵件
消息
文件
- MinIO - 對象存儲服務器
- Syncthing - 文件同步
- fsnotify - 文件系統監控工具
- gohttpserver - HTTP 靜態文件服務器
- XLSX - Excel 讀寫包
- Excelize - 360 開源的 Excel 工具包
- gopdf - PDF 生成
- rsc/pdf - PDF reader
- SeaweedFS - 分佈式文件系統
- go-fastdfs - 分佈式文件存儲服務
- Dragonfly - 基於 P2P 的分佈式文件系統
- filetype - 檢測文件類型
- cae - 實現 ZIP/TAR.GZ 解壓縮
- archiver - 多格式支持的解壓縮包
- compress - Optimized compression packages
- Afero - 文件操作包
- fsync - 文件/目錄同步
- filebrowser - Web File Browser
- Bigfile - 文件傳輸管理系統
- statik - 靜態文件服務
- filetype - 文件類型與 MIME 檢測
模板引擎
- goTemplateBenchmark - 給各 Go 模板引擎做性能測試,當然也就包含了最全的模板引擎包
- Jet - 速度很快
- amber - HTML 模板引擎
- fasttemplate - Simple and fast template engine for Go
- quicktemplate
- mustache
- Ace
- Sprig
- pongo2 - Django 語法風格的模板引擎
代碼生成
文本處理
Markdown
- Blackfriday - Markdown 解析器
- Lute - 結構化的 Markdown 引擎
- goldmark - Markdown 解析器
- docx2md - 轉換 Word 爲 Markdown
- glamour - 命令行下渲染 Markdown
- go-md2man - 轉換 Markdown 爲 man 手冊內容
其他
- gpy - Go 語言漢字轉拼音工具
- html2text - HTML 轉 text
- go-hashids - hashids 的 Go 版本
- go-pinyin - 漢語拼音轉換工具 Go 版
- mahonia - 字符集編碼轉換
- pangu.go - Go 版本的 pangu,給中英文之間加空格
- goorgeous - A Go ORG syntax parser to HTML
- go-diff - Go 版本的 diff 工具包
- Chroma - 代碼語法高亮
- kyokomi/emoji
- enescakir/emoji
- golang/freetype - Freetype font rasterizer
- prose - natural language processing library
- minify - Web 靜態資源壓縮(HTML/JS/CSS/JSON)
- Inflection - Pluralizes and singularizes English nouns
- autocorrect - 自動給中英文之間加入合理的空格並糾正專用名詞大小寫
- bleve - modern text indexing
- etree - XML 解析&生成
- feeds - RSS 內容生成
- gofeed - RSS & Atom feeds 內容解析
- gogrep - 通過語法樹搜索 Go 源碼
- PipeIt - 文本轉換,清理和提取工具
- regexp2 - 全功能正則表達式引擎。如果標準庫的 regexp 滿足不了你,可以嘗試使用 regexp2
- html2article - 基於文本密度的 html2article 實現
-
hostctl -
hosts
命令行管理工具 - go-shellwords - 解析命令行中字段
文檔
- swag - Swagger for Go
- gin-swagger - Swagger for Gin
- go-swagger - Swagger 2.0 implementation for go
數學計算
日期時間
配置
-
GoDotEnv -
.env
配置文件解析 - go-yaml/yaml
- ghodss/yaml
-
toml -
TOML
解析&編碼包 -
INI -
INI
配置文件解析 -
Viper - 支持
JSON
,TOML
,YAML
,HCL
,Java
等配置文件 - fig
- Multiconfig
- configor
- envconfig
- confd - 配置管理工具
- HCL - configuration language
- env - 解析 ENV 環境變量到結構體中
- configor
- koanf
- go-toml - TOML
- butler - Adobe 開源的配置管理系統
- envsubst - 環境變量替換
爬蟲
- Crawlab - 基於Golang的分佈式爬蟲管理平臺,支持Python、NodeJS、Go、Java、PHP等多種編程語言以及多種爬蟲框架
- Colly - 網絡爬蟲框架
- Pholcus - 支持分佈式的高併發、重量級爬蟲軟件
- go_spider
- goquery
- Muffet - 網站鏈接檢查器
- Creeper
數據庫
數據庫相關
- usql - 幾乎支持全部 SQL 與 NoSQL 數據庫的命令行工具
-
GORM
- gorm2sql - 根據 Model Struct 生成建表語句
- Xorm - 支持 MySQL、PostgreSQL、SQLite3 以及 MsSQL
- GoRose
-
sqlx -
database/sql
擴展包 - dbq - 數據庫操作
- gendry - 滴滴開源的SQL Builder
- Squirrel - SQL Builder
- qb - the database toolkit for go
- redigo - Redis 客戶端
- go-redis
-
mgo
- globalsign/mgo - The MongoDB driver for Go
- mgo使用指南
- amqp - Go client for AMQP 0.9.1
- kingshard - MySQL Proxy
- SOAR - 對SQL進行優化和改寫的自動化工具
- gh-ost - GitHub 開源的在線更改 MySQL 表結構的工具
- SQLer - write APIs using direct SQL queries with no hassle, let’s rethink about SQL
- gocraft/dbr
- Gaea - 小米開源的基於 MySQL 協議的數據庫中間件
- OctoSQL - 支持多數據庫的 SQL 查詢工具
- goose - 數據庫遷移工具
- migrate - 數據庫遷移工具
- ent - An Entity Framework For Go
- xsqlparser - SQL 解析
- godb - a Go query builder and struct mapper
- go-nulltype
- go-mysql - MySQL 工具集
- SQLittle - 純讀取 SQLite 文件
- Bifrost - MySQL 同步到 Redis、ClickHouse 等服務的異構中間件
數據庫驅動
- Go-MySQL-Driver
- go-mssqldb - MSSQL 驅動
- pq - PostgreSQL 驅動
- mongo-go-driver - MongoDB 官方出品的 Go 語言驅動
- clickhouse-go - ClickHouse 官方 Go 語言客戶端
數據庫引擎
- etcd - KV 分佈式存儲
- InfluxDB - 時間序列數據庫
- Prometheus - 服務監控系統 & 時間序列數據庫
- CockroachDB - SQL database
- Cayley - 圖數據庫
- RadonDB - 基於 MySQL 研發的新一代分佈式關係型數據庫
- TiDB - 分佈式關係型數據庫,兼容 MySQL 協議
- AresDB - Uber 開源的 GPU 驅動的實時分析存儲&查詢引擎
- leveldb - LevelDB 的 Go 實現
- Dgraph - 分佈式圖數據庫
- rqlite - 基於 SQLite 的輕量級分佈式關係數據庫
- gaeadb
- BadgerDB - KV 數據庫
- LBADD - 用 Go 實現的分佈式 SQL 數據庫
- go-memdb - 建立在不可變 Radix 樹上的內存數據庫
- VectorSQL - 應用於 IoT 和大數據的 DBMS 數據庫,類似於 ClickHouse
- BuntDB - 基於內存的KV數據庫,支持磁盤持久化、ACID事務
- TinySQL - 迷你分佈式關係型數據庫
- groupcache - 分佈式緩存
- Tile38 - GEO 數據庫
- Redcon - 兼容 Redis 協議的自定義 Redis 服務,採用 BuntDB 和 Tile38 實現存儲
搜索
- wukong - 全文搜索引擎
- go-elasticsearch - 官方 ES 客戶端
- elastic - Elasticsearch 客戶端
- go-mysql-elasticsearch - Sync MySQL data into elasticsearch
- gse - Go 語言分詞
- sego - Go 中文分詞
- Riot - 全文搜索引擎
- simplefts - 超簡單的全文搜索引擎實現
表單
- validator
- go-tagexpr - 字節跳動開源的結構體標籤表達式解釋器
- schema - converts structs to and from form values
Auth
- Casbin - 權限控制管理
- pam-ussh - Uber’s SSH certificate pam module
- jwt-go - JWT for Go
- sessions - 後端 SESSION 服務
- securecookie - cookie 加密/解密
- Goth - Multi-Provider Authentication for Go
- branca - 號稱比 JWT 更安全的 token 解決方案
緩存
視頻
- goav - FFmpeg 視頻處理
- lal - 直播流媒體網絡傳輸服務器
- bililive-go - 直播錄製工具
圖形處理
- barcode - 條形碼/二維碼生成器
- picfit - 圖片操作、裁剪、管理服務器
- gmfs - 圖片操作、裁剪、管理服務器
- besticon - favicon 服務
- Caire - 圖片操作庫
- Imaging - 圖片操作庫
- gocaptcha - 驗證碼生成
- go-is-svg - 校驗是否爲 SVG 圖片
- identicon - 根據用戶的 IP 、郵箱名等任意數據爲用戶產生漂亮的隨機頭像
- prominentcolor - 識別圖片的主要顏色
- dchest/captcha - 生成和驗證圖片或音頻驗證碼
- bimg - 圖片處理
- imaginary - 圖片處理服務
- primitive - 用原始幾何圖形繪製圖形
圖表
- go-echarts - Echarts 圖表庫
- gonum/plot - 圖形繪製
- pinhole - 3D 線框圖繪製
- globe - 地球線框圖繪製
- ink - Go 中的 2D 圖形框架
- go-plantuml - 基於 Go 源碼生成 plantuml 圖
構建編譯
- Mage - a Make/rake-like build tool using Go
- GoReleaser - Go 多平臺二進制文件打包、並支持發佈到 Homebrew 的工具
- goxc - 跨平臺編譯工具(因 1.5 版本開始已自帶交叉編譯,故已不再維護)
-
Task - 類似於
Make
的構建工具 - codegangsta/gin - 熱編譯工具
- Air - 熱編譯工具
- dh-make-golang - 自動構建 Debian 包
- pkger - 將靜態文件打包成 Go 二進制文件
- mewn - 靜態文件嵌入打包到二進制文件
- gobinaries - 不用安裝Go就能編譯安裝Go編寫的程序
優雅升級
- tableflip - Web 服務升級
- selfupdate - 二進制文件自動升級
代碼分析
- reviewdog - Code Review 機器人
- revive - 代碼檢查分析
- GolangCI-Lint - 代碼質量檢查分析工具
- errcheck - 檢測未處理的錯誤(errors)
- Staticcheck - 一系列的 Go 代碼靜態分析工具
- Golint - Google 官方出品的代碼質量檢測工具
- GoReporter
- go-critic
- gocloc - 分語言代碼行數統計
- coca - 代碼統計分析
- Go Report Card - Go 項目質量分析報告工具
- ddsv-go - 死鎖檢測工具
- golang/perf - 官方性能量化分析工具
- GoPlantUML - 爲 Go 項目生成 PlantUML 類圖
- gosize - 分析Go二進制文件大小
- shotizam - 分析 Go 二進制文件的大小並輸出到 SQLite3
調試
- go-spew - 變量打印工具
- Delve - Debug 工具
- gdlv - Delve 界面版本
- repr - 變量打印工具
- pp - 彩色變量打印工具
- ffmt - 變量打印工具
- gops - 谷歌官方出品的 Go 程序監控調試工具
- pprof
- go-callvis - 可視化Go程序的調用圖
- q - 自動打印變量類型並且格式化輸出
- Litter
- RDebug - 滴滴開源的一款用於 RD 研發、自測、調試的實用工具
- debugcharts - Go 內存佔用可視化調試工具
- gcvis - 實時可視化 gctrace
- pkg/profile
測試
- GoConvey - 含Web界面的單元測試框架
- GoMock - 谷歌出品的Mock測試框架
- GoStub
- Monkey
- Ginkgo - BBD 測試框架
- fperf - 壓測工具
- gocheck
- Testify
- gotests - 根據源碼自動生成測試文件
- TestSQL - 根據 SQL 創建語句生成測試數據
- httpmock - HTTP Mock
- Goblin - BDD 測試框架
- bxcodec/faker - Struct Data Fake Generator
- gofakeit - 隨機數據生成器
- dmgk/faker
- go-tprof - 包測試報告生成工具
- go-fuzz - randomized testing for Go
- gofight - Testing API Handler
- sqlmock - SQL 測試
- silk - 基於 Markdown 的接口測試
- gock - HTTP mock 測試
- godog - BDD 測試框架 Cucumber 的 Go 版本
- endly - E2E(端到端)測試
- is - 迷你測試框架
- Terratest - 基礎設施測試,比如 Docker
- agouti - Web 驅動的驗收測試框架
- httpexpect - 端到端 HTTP & REST 測試框架
- gocov - 測試覆蓋率
- miniredis - Redis 數據測試
- htmltest - HTML 測試
錯誤處理
- errors
- errorx
-
errwrap - Go tool to wrap and fix errors with the new
%w
verb directive - erris - Linter for errors.Is and errors.As
- eris - 旨在通過錯誤包裝,堆棧跟蹤和輸出格式爲你提供對錯誤處理的更多控制
- errlog - 使用靜態和堆棧跟蹤分析來快速確定哪個函數調用導致的錯誤
- juju/errors
- go-fault - GitHub 官方出品,基於標準庫 http 中間件的故障注入庫
- merry - 支持堆棧、狀態碼的錯誤處理
安全
- Kunpeng - 開源POC檢測框架
系統信息
- go-hardware - 收集了一堆關於硬件信息的包
- cpuid - CPU 信息
-
gopsutil -
ps
功能包 - go-sysinfo - 系統信息
UUID
- go.uuid - UUID 庫
- SEQSVR - Go + MySQL 實現的分佈式 ID 生成服務
- google/uuid - Google 開源的 uuid 包
- gofrs/uuid
- snowflake - Twitter snowflake IDs
日誌&收集
- Logrus - 日誌記錄包
- zerolog
- zap - Uber 開發的日誌記錄包
- Seelog
- logkit - 七牛開源的日誌收集工具
- gogstash - 類似於 Logstash 的日誌收集器
- lumberjack
- go-syslog - 極速 Syslog 解析器
監控
- OpenFalcon - 小米開源的監控系統
- Prometheus - 服務監控系統 & 時間序列數據庫
-
Grafana - 分析監視平臺, 支持 Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB 等數據源
- grabana - 用 Go 代碼快速創建 grafana dashboards
- TeaWeb - 一款集靜態資源、緩存、代理、統計、監控於一體的可視化智能WebServer
- Jaeger - 分佈式追蹤系統
- go-osstat - 系統指標統計
- grafterm - Metrics dashboards on terminal
- mymon - MySQL 運行監控
統計分析
容器技術
- moby - Docker
- docker-ce
- Rancher - 全棧化企業級容器管理平臺
- Gorsair
- docui - TUI Client for Docker
-
Podman - 管理和運行任何符合
OCI
規範的容器和容器鏡像 - Skopeo - 鏡像管理工具
-
Buildah - 構建
OCI
容器鏡像的工具 - go-docker - 用 Go 實現 Docker 核心功能
集羣管理
- Nomad - 集羣管理器和調度器
- kubernetes - 容器調度管理平臺
- OpenShift Origin - Red Hat 開發的容器化軟件解決方案
機器學習
- goml - 機器學習庫
- GoLearn - 一個 “開箱即用” 的機器學習庫
- glow - 易用的分佈式計算系統
- Gobot - 機器人和物理計算語言庫
- Olivia - 神經網絡
- Pico - 基於像素強度比較的物體檢測紙張的純 Go 臉部檢測庫
算法
- GoDS - Go 實現了多種數據結構
- Dragonboat - 多組 Raft 共識算法庫
- eliben/raft - Raft 算法
- golang-lru - LRU 算法實現
- tinylru
- finn - Fast Raft framework using the Redis protocol for Go
- xorfilter
- priyankchheda/algorithms - 各種算法的 Go 語言實現
- meow - Meow hash
-
btree -
B-Tree
- basalt - 高性能的分佈式的專門空間優化的 Bitmap 服務, 杜絕 Bloomfilter 和 CuckooFilter 的誤判
- go-blurhash - BlurHash,是模糊圖片的一種哈希算法
數據結構
- go-datastructures
- Play-with-Data-Structures - 「玩轉數據結構」課程的 Go 語言實現版本
- HashMap
- SipHash - SipHash-2-4
- Bigslice
- golang-set - The missing set collection
- rbang - R!tree 實現
- rtreego - R-tree
- tinybtree - B-tree
- dataframe-go - 用於數據統計和操作的包
- go-set - 集合工具包
依賴注入
JSON
- GJSON - JSON 解釋器
- SJSON - JSON 修改工具
- fastjson - fast JSON parser and validator for Go
- jsonparser
- ffjson
- json-iterator - 滴滴開源的 JSON 解析器
- gojsonq - JSON/YAML/XML/CSV 等數據查詢
- easyjson
- go-jsonc - 將帶註釋的 JSON 轉爲無註釋的
-
jin - JSON 操作工具包,同時具有標準庫和類似
tidwall/gjson
和tidwall/sjson
的功能 - hujson - 支持註釋的 JSON 解碼
- pkg/json - JSON Decoder
- ColorJSON - 終端中打印彩色 JSON
依賴管理
-
goproxy.io -
GOPROXY
代理服務 - goproxy.cn - 更適合國內用戶的代理服務
- Gopm - Go 包管理工具
- govendor - Vendor 包管理工具
- gom - 包版本管理工具
- goup - 檢查包版本是否有更新
微服務
- Istio [中文文檔] - 大型微服務系統管理工具
- goa
- Micro - 微服務工具
- Go kit - Go 微服務工具集
- GoKit CLI - Go kit 腳手架
- gogo
- go-chassis
- Go Micro - 微服務框架
- Kite
- Kratos - B站開源的微服務框架
Serverless
- OpenFaaS - Serverless Functions Made Simple(功能服務化的 FaaS 框架)
- fn - 事件驅動的 FaaS
- riff - 基於 Kubernetes 的 FaaS
- Nuclio - 實時事件與數據的 Serverless 框架
- Flogo - 事件驅動的 Serverless 框架
- Dapr
- kubeless
- Fission - 基於 Kubernetes 的 Serverless
- pulumi
- Knative
- fx
持續集成/部署
- CDS - 持續集成服務
- gopub
- CodePub
- syncd - 代碼部署工具
- Drone - 基於 Docker 的持續發佈平臺
- Cyclone - 持續集成&發佈平臺
- tbls - 用於記錄數據庫文檔的 CI 友好工具
Git
- gogs - 類似於 GitLab 的 Git 服務器
- Gitea - 由 gogs 分叉出的 Git 服務器
- go-git - Go 實現的 Git 操作
- gitin - commit/branch/status explorer for git
- hub - GitHub 命令行工具
- git-o-matic - 一個監控 Git 倉庫變化和自動 pull/push 的工具
- gitbase - SQL 的方式查詢 Git 日誌
-
git-chglog -
CHANGELOG
命令行工具 - lazyhub - GitHub 的終端 UI 客戶端
- goaction - 在 Go 中編寫 GitHub Action
限流器
- Tollbooth - Simple middleware to rate-limit HTTP requests
- ratelimit
- RateLimit
- go-rate
- Circuit - 熔斷器
- uber-go/ratelimit
- Sentinel - 阿里巴巴開源的面向分佈式服務架構的流量控制組件 Go 語言版本
編譯器
解釋器
- participle - 通用的自定義語法解析包
- GopherLua - VM and compiler for Lua in Go
- go-lua - A Lua VM in pure Go
- DCLua - Go Lua Compiler and VM
- otto - JavaScript 解釋器
- goja - ECMAScript 5.1(+) implementation in Go
- gpython - Python Interpreter on Go
- Grumpy - 轉換 Python 爲 Go 代碼,谷歌開源
- starlark-go - Starlark in Go
- avo - Generate x86 Assembly with Go
- wagon - WebAssembly 解釋器
- GopherJS - 把 Go 代碼編譯成 JavaScript 代碼
- Yaegi - Go 語言解釋器
- properties - Java properties scanner for Go
- gobasic - A BASIC interpreter written in golang
-
golisp -
Lisp
解釋器
PHP
- php-parser - PHP AST 語法解析
- deuill/go-php - PHP bindings for Go
- goridge - High-performance PHP-to-Golang IPC bridge
- RoadRunner - 高性能PHP應用服務器,支持負載均衡及進程管理
自定義解釋器
- cel-go - Common Expression Language(CEL 的 Go 實現)
- Math-Engine - 使用 Go 實現的數學表達式解析計算引擎庫,學習語法解析很適用
- Gval - 表達式計算
- expression-parsing
- goexp - Recursive descent expression parser in Go
- goastch - Go AST 語法解析
- tdop
- swallow
- Anko
- Expr - 編譯&執行字符串中的表達式
- Tengo - 用 Go 編寫的腳本語言
- V - Go 編寫的語言
- kumarUjjawal/bison
- Monkey
- govaluate
- Compiler - 將自定義語法代碼編譯成 X86-64 Assembly
編輯器
- micro - 基於終端的編輯器
運行器
查詢語言
- graphql - Go 實現的 GraphQL
- graphql-go
- GQLEngine - 基於 graphql-go 實現
- RQL - REST 資源查詢語言
- Thunder - GraphQL 服務構建框架
- gqlgen - 構建 GraphQL 服務器的包
- super-graph - 無需編寫代碼即可在 Go 項目中構建複雜的 GraphQL API
遊戲相關
- Nano - 遊戲開發框架
- Leaf
- einx
- CloudRetro - 遊戲雲服務框架
桌面開發
- Lorca - 用 Go 編寫 HTML5 桌面程序,依賴 Chrome 進行 UI 渲染,但卻不把 Chrome 打包到應用中
- webview - 用 Go 構建跨平臺的桌面軟件
- walk - Windows GUI toolkit
- go-gtk - Go bindings for GTK
- andlabs/ui - Platform-native GUI library for Go
- fyne - Material Design 風格的 GUI
- go-gl - Go bindings for OpenGL (generated via glow)
- therecipe/qt - 基於 Qt 的跨全平臺 UI 包
- giu - 基於 Dear ImGui 的跨平臺 GUI 框架
- go-app - 一個 WebAssembly 框架,用於使用 Go,HTML 和 CSS 構建 GUI 應用
- wails - 使用 Go 和 Web 技術創建桌面應用程序
- chromedp - 純 Go 語言實現的驅動瀏覽器的 Chrome DevTools Protocol,可用於爬蟲、反爬蟲、測試等場景
- Rod - 一個爲簡化自動化和爬蟲設計的 devtools driver,利用瀏覽器的 devtools 可編程接口來操控瀏覽器
- go-astilectron - 基於 Electron 的跨平臺開發
- Gio - 跨平臺 UI 框架,支持移動應用
- nucular - 基於 Gio 的實現
- GoVCL - 跨平臺的 GUI 包
移動端
- golang/mobile - Go support for Mobile devices
任務/定時器
- Grift - Go based task runner
- cron - a cron library for go
- goCron - A Golang Job Scheduling Package
- jobrunner
- CurlyQ - 後臺任務處理庫
- overtalk/task - 任務的管理&執行,支持自定義次數的重發
- PPGo_Job - 定時任務管理系統
微信
- weapp - 微信小程序 SDK
區塊鏈
- Hyperledger Fabric - 基於區塊鏈的超級賬本
- go-ethereum - 以太坊協議的官方 Go 語言實現
協程池
開發輔助包
- copier - struct 之間拷貝值
- cast - 數據類型轉換
- go-extend
- com - 工具包
- php2go - Go 實現的 140+ 個 PHP 函數功能包
- gommon - Common packages for Go
- reflect2 - reflect api without runtime reflect.Value cost
- mapstructure - Go library for decoding generic map values into native Go structures
- naza - Go語言基礎庫
-
automaxprocs - 自動設置
GOMAXPROCS
- c2go - 將 C 代碼轉換爲 Go 代碼的工具
- memviz - 圖形化數據結構
- underscore.go
- go-testdeep - 非常靈活的深度比較包,擴展了 Go 測試包
-
go-model -
struct
操作包 -
concurrent-map - 併發安全
map
-
guregu/null - SQL/JSON的
null
處理包,提供替代類型 - stats - 標準數字統計
代碼生成
- ChimeraCoder/gojson - 根據 JSON 生成結構體
- db2struct - 根據表結構生成結構體
- smallnest/gen - 根據表結構生成結構體
- sqlc - 根據 SQL 語句生成 Go 代碼
- xo - 根據表結構或查詢語句自動生成 Go 代碼
系統開發
- LinuxKit - 爲容器構建安全、便攜、可移植操作系統的工具包
未歸類
- Robotgo - Golang 跨平臺自動化系統,控制鍵盤鼠標位圖和讀取屏幕,窗口句柄以及全局事件監聽
- go-homedir
-
i18n -
i18n
多語言工具包 - Paginater - 分頁工具
- gls - Goroutine local storage
- go-version - 版本號比較
- go-semver - 語義版本
- Metabolize - Decodes HTML meta tags into a Golang struct
- otp - 一次性密碼工具包(One Time Password utilities)
- wechat-go - 微信 Web 版 API 的 Go 實現
- misspell - 常拼寫錯誤的英語單詞
- CRDT - CRDT(Convergent and Commutative Replicated Data Types)最終一致性算法的實現
- script - Making it easy to write shell-like scripts in Go
- sysadmin-utils
- ants - goroutine 池
- licenseclassifier - 識別文件中的 license 類型
- rose - 在 HTML 中嵌入和運行 Go 代碼
- esbuild - JavaScript 構建打包工具
- clipboard - 跨平臺的粘貼板實現
logo
工具
- syndbg/goenv - Go 版本管理
- wfarr/goenv - Go 版本管理
- GoLand - IDE 軟件
- Visual Studio Code
資源站點
- Go 101
- Go 語言中文網
- Golang 中國
- go-zh
- Golang sizeof tips - 輸入結構體定義,會顯示內存佈局
- Golang Programs
- Golang bot