Go Organize excellent language resources to speed up project implementation🏃
Stable update on GitHub, please click star if you feel good ❤️
If you reprint and share, please keep the source, thanks 😆
Official website: https://golang.org
Domestic official website mirror (quick access): https://golang.google.cn
GitHub: https://github.com/golang/go
Developer platform: https://go.dev
Wiki: https://github.com/golang/go/wiki
Official Blog: https://blog.golang.org
-
Simplicity
Complexity makes readable programs unreadable, complexity kills many software projects.
-
Readability
> The code is visible to people and it takes longer to read the code than to write it. Programs need to be maintainable, and that readability is the first step.
-
Productivity
> Most of the work can be done easily and conveniently with numerous tool sets and basic libraries. > The compilation speed is fast enough to reach the efficiency of dynamic languages, but it does not have the problem of dynamic languages' unreliability. > Self-contained programming specifications that make team code consistent and help developers discover and avoid potential bugs.
- GitHub Topic for Go
- Awesome Go
- Awesome Go Storage - Go Storage related open source projects
- Go Patterns - Go version of Design Patterns
- sevenelevenlee/go-patterns - design patterns
- [GoF Design Pattern] (https://github.com/qiualiang/gof)
- greyireland/algorithm-pattern - algorithm template
- go-algorithms - Go version of data structures and algorithms
- Go Learning Path - Collection of Go learning materials
- Go Developer Roadmap
- ReposHub-Go
- VisuAlgo - Dynamic visualization of data structures and algorithms
Guru in the Go language or organization of a good Go project
- mattn - wrote hundreds of Go projects, rich in high quality projects
- Unknwon - author of gogs/macaron and other projects, translator of "The Way to Go"
- Jinzhu - Author of Gorm/QOR etc.
- valyala - author of fasthttp/fastjson etc.
- vmihailenco - go-redis/go-pg and other authors
- kataras - author of iris
- bep
- spf13
- juju
- tidwall
- Gorilla Web Toolkit
- loov
- HashiCorp
- lestrrat-go
- Uber - Open source software at Uber
- Stretchr - Tame your unstructured data
- Containous
- Propose changes to Go - Design document for the Go language
- Design and implementation of the Go language
- Go Language Original
- Go 101 (Chinese version)
- Go Official Getting Started Guide
- Advanced Go Programming
- [Go Expert Programming](https://github.com/RainbowMango/GoExpert Programming)
- Go programming language
- Golang Standard Library Documentation (Official/Chinese)
- Go Language Standard Library [
Online Reading
](https://books.studygolang.com/The- Golang standard library by example/) - 《The Way to Go》Chinese Version
- Bible in Go language (Chinese version)
- [Go Language Introduction Tutorial] (http://c.biancheng.net/golang/)
- Go hands-on development
- For developing web applications
- Learn Skill Tree
- [Effective Go Programming] (https://go-zh.org/doc/Effective_go.html)
- Detailed notes on Go language grammar
- Go Language Learning Materials and Community Index
- Go database/sql Tutorial
- [GO Command Tutorial] (https://github.com/hyper0x/go_command_tutorial)
- In-depth analysis of Go
- Go-Blog-Language Practice
- Learn Go Language
- Go2 Programming Guide
- Go database/sql tutorial - Go database (database/sql) development tutorial
- Go Web Examples - Go Web Development Examples
- Go Assembly - Introduction to Go Assembly functionality with examples
- Ultimate Go - The ultimate Go learning guide, including extensively documented code and program analysis
- [Go Tutorial] (https://cloud.tencent.com/developer/doc/1101) - Tencent Cloud Developer Guide
- [Golang Development Notes] (https://github.com/guyan0319/golang_development_notes/blob/master/zh/preface.md)
- golang-notes - Go to source code to read notes
- The Little Go Book (Chinese version)
- Learning Go - from zero to hero
- go-internals - Detailed understanding of Go
- Learn Go with Tests
- Go Basic Tutorial
- 7-day streak from scratch with Go
- High performance programming in Go language
- Golang - 100 days from beginner to master - part of the learning content of a training institution
- hoanhan101/algo - 107+ coding interview questions including detailed solutions, test cases and program analysis
- over-golang - Go Study Notes
- over-algorithm - Notes on the Go algorithm
- learngo - 1000+ Go examples, exercises and tests
- go-leetcode - LeetCode implementation
- Play GO - Chinese translation of "Mastering GO"
- Leetcode Cookbook - LeetCode in Go
- Golang Cultivation Road
- Getting started with the Go syntax tree
- Go Concurrency Patterns - Collection of Go Concurrency Patterns scenarios
- yezihack/algo - data structure and algorithm
- [Uber Go Style Guide] (https://github.com/uber-go/guide)
- The Go programming language specification (old Chinese version)
- [Effective Go Programming] (http://docscn.studygolang.com/doc/Effective_go.html)
- Go Code Review Comments
- Go code convention
- Go FAQ 101
- Go Details 101
- Go Tips 101
- Go Quiz 101
- go-advice
- go-perfbook - Writing and optimizing Go code
- Practical Go: Practical advice on writing maintainable Go programs [(Go language practice: Advice on writing maintainable programs )] (https://www.udnz.com/2018/10/27/%E3%80%90%E8%AF%91%E3%80%91Go-%E8%AF%AD%E8%A8%80 %E5 %AE%9E%E8%B7%B5%EF%BC%9A%E7%BC%96%E5%86%99%E5%8F%AF%E7%BB%B4%E6%8A%A4%E7 %9A %84%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%BB%BA%E8%AE%AE/)
- Go Security Guide - “Code Security Guide” Go language chapter published by Tencent
- Go Concurrency Guide
- Go Recipes - some tricks
- Go Training - A large number of high-quality Go-related articles, videos and other materials
- Go Language Lovers Weekly
- Go Night Reading - Go standard package, explanation of how to read the source code of the open source project
- Go-Questions - Introduction and advanced knowledge of learning the Go language
- Go's 50 Shades of Gray: Pitfalls and Common Mistakes for New Golang Developers
- Go program performance optimization and using pprof
- gops - display and diagnosis tool for Go speech programs
- [Go Source Code Analysis - How http.ListenAndServe() works] (https://blog.csdn.net/gophers/article/details/37815009)
- GoConvey Framework User Guide
- GoStub Framework Usage Guide
- Guide to using GoMock framework
- Monkey Framework Usage Guide
- The evolution of a Go programmer - The evolution of a Go programmer
- Creating an Enterprise Level RESTful API Service Based on the Go Language - Nuggets Brochure
- [Go Language Core 36 Lectures] (https://time.geekbang.org/column/112) - Geek Time
- Shiori - bookmark management
- studygolang - Go Language Chinese Network
- mkcert - Tool to generate a local HTTPS encryption certificate
- Rainbond - Open source PaaS based on container technologies like Docker and Kubernetes
- NYADB2 - Relational database implemented by Go, worth learning
- EiBlog - Blog
- pan-light - Baidu network disk client with unlimited speed, developed on the basis of Go + Qt5
- BaiduPCS-Go - Baidu Network Drive Client (command line)
- daily-warm - Send regular emails to people you care about every day
- pipe - blogging platform
- mdr - Markdown reading tool under the command line
- miniflux - Feed reader
- golinks - Create custom bookmarks, commands, searches and more
- Liandi Notes - Application for desktop notes
- wayback - Website snapshot backup
- bbs-go - open source community
- OpenSCRM - Enterprise WeChat traffic management system for private domains based on Go and React
- answer - Q&A community
- 1m-go-websockets - This project shows how to write a server in Go that has over a million "websockets"-1-GB- server can serve
- By example - Learn "By example".
- IAM - Identity and Access Management System (teaching project)
- 100-Go Mistakes - 100 common Go Mistakes
- Macaron - A Go web framework "domestic" with high productivity and modular design
- Beego - An open-source framework that uses Go Thinking to help you create and develop "domestic" Go applications
- Gin - Lightweight web framework
- Iris - web development framework
- Revel
- echo
- Faygo -
Domestic
- Teleport - socket framework
- GoFrame -
Domestic
- QOR - A set of application development kits
- DotWeb -
Dotweb
- REST layer - REST API framework
- Honeytrap
- Ponzu
- utron
- muxie
- Buffalo - A development tool to quickly generate web projects
- go-web-framework-benchmark
- fiber - A Fasthttp-based Express-style HTTP web framework
- aah
- go-zero - TAL open source web framework
- pingcap/fn - supports binding any method that is built into a POST+JSON interface
- flamego - Yet another web framework developed by
unknwon
- REST layer - REST API framework
- rk-boot
- YAO - Use JSON to create database models, write API interfaces and describe the application engine of the management background interface
- GoAdminGroup/go-admin - Rapid development framework for background administration, similar to Laravel-Admin
- wenjianzhang/go-admin - Background framework based on Gin + Vue
- gin-vue-admin - Background framework based on Gin + Vue
- goxygen - A full stack application builder based on Go, React and MongoDB technologies
- nging - General framework for managing the Go language background
- snake - Business API framework
- PocketBase - a single file backend service development framework with background management panel, file and permissions management and built-in SQLite database, using Dart and JS SDK for Rapid supports development of APP
- [Standard Go Project Layout] (https://github.com/golang-standards/project-layout) - example directory structure of a Go project
- go-starter - Adobe Go project template
- go-clean-arch
- go-rest-api - Go RESTful API Starter Kit
- Create Go App CLI - Create a development skeleton for front-end and back-end projects from the command line
- clean-gin - Clean architecture project skeleton based on Gin
- golang-repo-template - a project template containing many practices
- Wild Workouts - DDD, clean architecture, CQRS example project
- Clean Architecture in Go - Clean architecture example
- freedom - Framework based on hexagonal architecture
- esim - Microservice framework based on hexagonal architecture
- go-cleanarch - Verification tool for clean architecture rules
- zinx - TCP Concurrent Server Framework
- Negroni - Web middleware
- csrf - CSRF middleware
- handlers - A collection of useful handlers for Go's
net/http
package
- SizedWaitGroup - concurrency control
- concurrent - Concurrency Utilities
- urfave/cli - tool for building command line programs
- Cobra - command line buildpack
- flaggy - command parameter analysis
- pflag - Command line parameter handling
- kong - command line parsing
- clop - command line parsing package
- go-flags - parsing of command line parameters
- mow.cli
- go-arg - Parses command line parameters based on structure tag
- progressbar - print a progress bar on the terminal
- cheggaaa/pb - Terminal progress bar
- mpb - supports multiple progress bars
- Color - color of command line text
- gookit/color - command line color library
- termui - Terminal Dashboard
- tui - Terminal UI
- termenv - Extended ANSI style and color support for terminal applications
- asciigraph - renders ASCII characters in the terminal
- spinner - A controller that covers 70+ icons or progress bars
- tablewriter - Output table content in terminal
- PIXterm - Drawing in command line terminal
- WTF - a command line information dashboard that can customize the display content
- termdash - Dashboard system based on Go Terminal
- bubbles - TUI components
- bubbletea - TUI framework
- PTerm - supports displaying terminal output such as charts, tables, progress bars, trees, etc.
- Lipgloss - Terminal layout, style
- Gum
- glow - Terminal rendering displays markdown
- [slides] (https://github.com/maaslalani/slides) - Terminal rendering displays markdown
- tview - Terminal UI
- ASCIIPlayer - Output image or video via ASCII in terminal, supports PNG, JPEG, GIF, MP4, AVI and other formats
- go-pretty - terminal rendering table, list, progress bar, etc.
- gosu - Run scripts with specific user rights
- gotop - similar top system monitor display
- go-colorable - Colorable Writer for Windows
- go-isatty - TTY environment assessment
- fzf - Terminal fuzzy query artifact, supports multiple platforms
- go-daemon - daemon process package
- go-prompt - Interactive input from the command line
- peco - Interactive filter tool
- pty - PTY for Go
- vtclean - Parses plain text from terminal output string
- Survey - interactive input
- vgrep -
grep
which supports scroll pagination - GoTTY - Real-time sharing via web-based command line
- Jump - Quickly jump into the directory according to the habit
- GoFish - A cross-platform software management tool inspired by Homebrew supporting Linux and Windows
- viddy - Improved
watch
command - miller - a sed, awk, cut, join and sort-like tool for manipulating data based on named indexes
- assh - SSH extension tool
- duf - better disk usage tool than
df
- HttpRouter
- mux - URL routing and dispatcher
- chi
- gocraft/web
- go-querystring - Convert structure to URL request parameters
- gorilla/schema - converts structs to and from form values
- CleverGo
- rewrite - Rewrite middleware
- DNS - DNS library
- CoreDNS - DNS servers
- RoadRunner - PHP application server, process manager, load balancer, used to replace "Nginx + FPM".
- FrankenPHP - PHP application server
- GoReplay - Traffic capture and replay
- Sharingan - Didi open source traffic recording and playback tool
- Glorp - CLI tool for HTTP interception and replay
- p2pspider - torrent sniffer
- torrent - BitTorrent related tool library
- rain - Bittorrent client and library
- httpteleport - Teleports 10Gbps HTTP traffic over 1Gbps networks
- FIND3 - WiFi device detection
- SubFinder - subdomain discovery tool
- ggz - short URL service
- httpstat
- grab - file download
- go-getter - can download files or directories from different sources using URL as main input form
- go-netty - network framework
- gnet - Event driven Go network framework
- netpoll - Non-blocking I/O Net-Library focused on RPC scenarios
- httplab - The interactive web server
- yamux - multiplexers
- sftp - SFTP support for the "go.crypto/ssh" package.
- goftp - FTP client
- evio - Event driven network framework (reactor mode)
- gaio - Event driven network framework (Proactor mode)
- httpretty - Issues HTTP requests on the terminal
- blocky - Block ads as LAN DNS proxy
- lossy - simulates bandwidth, latency and packet loss for net.PacketConn and net.Conn interfaces
- go-libp2p - P2P
- go-ipfs-api - IPFS
- gomobile-ipfs - Provide IPFS network access support for mobile devices
- go-multiaddr - multiaddr
- kcp-go - Reliable UDP communication package
- gliderlabs/ssh - Just create an SSH server like
net/http
- netaddr - Processing of network addresses
- sx - command tool for scanning networks
- echoip - IP address lookup service
- EasyTCP - TCP server framework
- GoPacket - network capture packet capture
- croc - transfer files between two computers
- cmux - monitor the same port, start multiple log services
- GeoIP2 Reader for Go - Parsing and reading of MaxMind GeoLite2 and GeoIP2 databases
####LDAP
- Caddy - Nginx-like web server
- Traefik - reverse proxy and load balancing
- snail007/goproxy - high performance proxy server implemented by golang
- ProxyPool - Collect free proxy resources to provide effective IP proxy for crawlers
- frp - A high performance reverse proxy application that can be used for intranet penetration
- nps - A lightweight, high performance, powerful intranet penetration proxy server
- Pomerium - identity-based reverse proxy
- V2Ray
- V2Fly - Community version of V2Ray
- Tailscale - WireGuard solution
- Clash - Multi-platform proxy client supporting multiple protocols
- elazarl/goproxy - HTTP proxy
- oxy - Go middleware for HTTP servers and proxies
- ouqiang/goproxy - Go HTTP(S) proxy library, supports man-in-the-middle proxy to decrypt HTTPS
- Vegeta - HTTP load test tool
- hey - web stress test tool
- bombardier - web stress test tool
- go-wrk
- plough
- Ddosify
###HTTP
- fasthttp - HTTP toolkit 10x faster than
net/http
- Resty - HTTP and REST client package
- gout - HTTP client
- Gentleman - HTTP client
- goz
- UserAgent - Parses the HTTP user agent
- purell - URL Specification Toolkit
- go-autorest - client for HTTP pipeline requests
- Req - HTTP client
- cors - CORS handler
- gorilla/websocket
- nhooyr/websocket - Official Recommended Package
- websocketd - A one-click command line tool for creating WebSocket servers developed in Go
- ws - WebSocket development kit
- melody - WebSocket service framework
- neffos - A fast and extensible WebSocket framework
- fastws
- Centrifugo - Real-time messaging server that can be used in conjunction with application backends written in any language
- goim - supports clustered IM and real-time push services
- Tinode - Instant messaging server, transported via protocols like websocket/JSON or gRPC/TCP
- WebRTC - WebRTC implementation
- Berty - Secure peer-to-peer communication software
- Keybase - Instant messaging tool Keybase Full Platform Client
- GoKu API Gateway CE - eoLinker open source API gateway
- Easegress
- Manba
- vmihailenco/msgpack - supports msgpack
- go/codec - supports msgpack/binc/cbor/json
- golang/protobuf - protocol buffer for Go
- gogo/protobuf - Extended replacement for
golang/protobuf
- Objx - A package for manipulating map, slice, JSON and other data
- msgp - MessagePack code generator
- Buf - log replacement
- snappy - Snappy for Go
- cae - implement ZIP/TAR.GZ decompression
- archiver - Unpack archive with multi-format support
- compress - Optimized compression packages
- Brotli
- gRPC-Go - official gRPC package
- Go gRPC Middleware - general gRPC middleware
- gorpc
- gorilla/rpc - Build HTTP based RPC services like JSON-RPC
- Lile - gRPC service builder
- rpcx
- Twirp - RPC framework based on Protobuf, similar to gRPC
- lile - gRPC service generation tool
- dubbo-go - Dubbo Go version
- Kitex
- gRPCurl - Access gRPC services from command line like cURL
- gomail - email delivery package
- scorredoira/email
- Hermes - Go version of Mailgen engine, depending on configuration to generate HTML formatted emails
- Go-Guerrilla - SMTP mail server
- MailHog - SMTP testing tool based on web and API
- Maddy - SMTP mail server
- jordan-wright/email
- NSQ - Real-time distributed messaging platform
- NATS - cloud-native messaging middleware
- amqp - AMQP 0.9.1 client
- sarama - Kafka client
- MinIO - object storage server
- rclone - Sync files between different cloud storages
- Syncthing - File synchronization
- fsnotify - File system monitoring tool
- reflex - monitors file changes and executes commands
- gohttpserver - HTTP static file server
- XLSX - Excel reading and writing package
- Excelize - 360 Open Source Excel Toolkit
- gopdf - PDF generation
- rsc/pdf - PDF reader
- SeaweedFS - Distributed file system
- go-fastdfs - Distributed file storage service
- Dragonfly - P2P based distributed file system
- filetype - detect file type
- Afero - file editing package
- fsync - file/directory synchronization
- filebrowser - web file browser
- Bigfile - file transfer management system
- filetype - File type and MIME detection
- go-app-paths - Get directory files across platforms
- copy - copy folder
- lakeFS - Git-like file object storage
- Duplicacy - a lock-free cloud backup tool that supports almost all storage methods
- CasaOS - family cloud system
- goTemplateBenchmark - performance test for each Go template engine, of course it also includes the most complete template engine package
- Jet - very fast
- amber - HTML template engine
- fasttemplate - Simple and fast template engine for Go
- Quicktemplate
- Moustache
- Ace
- Sprig - general template method
- pongo2 - Django style template engine
- Plush
- Blackfriday - Markdown parser
- Lute - Structured markdown engine
- goldmark - Markdown parser
- docx2md - Convert Word to Markdown
- glamour - Render markdown on command line
- go-md2man - Convert markdown to manpage content
- gomarkdown/markdown
- html-to-markdown - Convert HTML to Markdown
- DOM - HTML DOM node editing
- obelisk - Save web pages as a single HTML page
- html2text - HTML to text
- go-readability - Make HTML more readable
- gomponents - declarative view components that can be rendered in HTML5
- daz - composition of HTML components, rendering of HTML
- html-strip-tags-go - Strip HTML tags
- bluemonday - XSS detection
- cascadia - CSS selectors
- htmlquery - XPath syntax query HTML
- xmlquery - XPath syntax query XML
- xpath - XPath syntax
- goquery - jQuery syntax query HTML
- css - CSS selectors
- go-runewidth - character length calculation
- gpy - Pinyin tool to convert Chinese characters to Go language
- go-hashids - Go version of Hashids
- go-pinyin - Go version of Chinese Pinyin conversion tool
- mahonia - Character set encoding conversion
- pangu.go - Go version of pangu, add spaces between Chinese and English
- goorgeous - A Go-ORG syntax parser for HTML
- sergi/go-diff - Go version of the diff toolkit
- sourcegraph/go-diff - Go version of the diff toolkit
- Chroma - Code syntax highlighting
- syntaxhighlight - code highlighting
- kyokomi/emoji
- enescakir/emoji
- golang/freetype - Freetype font grid
- prose - Natural language processing library
- minify - Compression of static web resources (HTML/JS/CSS/JSON/XML/SVG)
- Inflection - Pluralizes and singularizes English nouns
- Autocorrect - Automatically add meaningful spaces between Chinese and English and correct capitalization of proper names
- bleve - modern text indexing
- etree - XML parsing and generation
- go-xml
- Feeds - RSS feed generation
- gofeed - Content analysis of RSS and Atom feeds
- Sitemap - sitemap.xml generation
- yarr - Software for reading RSS
- gogrep - Browse the Go source code using the syntax tree
- PipeIt - Text conversion, cleaning and extraction tool
- regexp2 - Fully functional regular expression engine. If you are not satisfied with the standard library regexp, you can try using Regexp2
- html2article - html2article implementation based on text density
- hostctl -
hosts
command line management tool - go-shellwords - parses the fields on the command line
- woke - Check text files for discriminatory words
- go-password-validator - password strength validator
- xurls - Extract URLs from text
- whatlanggo - Natural Language Recognition
- go-enry - Detect programming language
- fuzzy - String fuzzy matching
- godlp - data desensitization
- Zoekt - text search engine
- swag - Swagger for Go
- gin-swagger - Swagger for gin
- go-swagger - Swagger 2.0 implementation on the go
- decimal - Solve the problem of precision of floating point calculation
- fixed
- apd - decimal pack
- mathfmt - Convert LaTeX syntax comments to math formula format
- q - quantum computer simulator
- now
- when - natural datetime parsing
- Carbon - Go implementation of the Carbon time processing library
- strftime - time formatting
- dateparse - Parses all unknown time strings in format
- GoDotEnv - Parsing of
.env
configuration file - go-yaml/yaml
- ghodss/yaml
- toml -
TOML
parsing & encoding package - INI - Parsing of
INI
configuration file - Viper - Supports
JSON
,TOML
,YAML
,HCL
,Java
and other configuration files - fig
- Multiconfig
- Configurator
- envconfig
- confd - configuration management tool
- HCL - configuration language
- env - Parse ENV environment variables into a structure
- Configurator
- koanf
- go-toml - TOML
- butler - Adobe's open source configuration management system
- envsubst - Substitution of environment variables
- Crawlab - Golang based distributed crawler management platform, supports Python, NodeJS, Go, Java, PHP and other programming languages and multiple crawler frameworks
- Colly - web crawler framework
- Pholcus - Supports distributed crawler software with high concurrency
- go_spider
- Muffet - Website link checker
- [Creeper] (https://github.com/wspl/creeper)
- Geziyor - A fast crawler framework that supports JS rendering
- Apollo - a crawler tool
- Ferret - Declarative web scraping
- gocrawl
- Antch
- katana - crawler and spider framework
- pingcap/parser - SQL parsing compatible with MySQL
- xsqlparser - SQL parsing
- sqlparser - SQL parsing
- vitess-sqlparser - SQL parsing
- dbml-go - DBML Analysis
- go-saga - Saga distributed transaction implementation
- DTM - Cross-language distributed transaction management service supporting TCC, Saga, XA, etc.
- usql - A command line tool that supports almost all SQL and NoSQL databases
- GORM - GORM V2 + GORM V1 + gorm2sql - generate table creation statement according to model struct + gorm-sharding - SQL interception, AST parsing, sub-table routing, self-increasing primary key stuffing based on conn layer, transparent to users
- Xorm
- XormPlus - A custom enhanced version of Xorm
- GoRose
- sqlx -
database/sql
extension pack - dbq - database operations
- gendry - Didi open source SQL builder
- ozzo-dbx
- Squirrel - Fluent SQL Builder
- qb - the database toolkit for go
- redigo - Redis client
- go-redis
- mgo + globalsign/mgo - The MongoDB driver for Go + mgo user guide
- kingshard - MySQL proxy
- SOAR - an automated tool for optimizing and rewriting SQL
- SQLE - SQL Audit Tool
- Vitess - A database solution for provisioning, scaling and managing large clusters of MySQL instances
- gh-ost - GitHub open source tool to change MySQL table structure online
- SQLer - Write APIs with direct SQL queries without problems, let's think about SQL
- gocraft/dbr
- Gaea - Xiaomi open source database middleware based on MySQL protocol
- OctoSQL - SQL query tool supporting multiple databases
- goose - database migration tool
- migrate - database migration tool
- dbmate - database migration tool
- ent - An entity framework for Go
- godb - a Go query builder and struct mapper
- go-nulltype
- go-mysql - MySQL toolset
- SQLittle - Read in SQLite files
- Bifrost - Heterogeneous middleware to sync MySQL with Redis, ClickHouse and other services
- elasticsql - Convert SQL to Elasticsearch DSL
- POP - A database ORM tool based on the sqlx package
- REL - Modern database access layer for Go
- RDB - Redis RDB file parsing and generation tool, supports converting JSON, converting AOF, finding big key, generating RDB files and drawing storage flame diagrams, etc.
- Bytebase - Web-based, zero-configuration and zero-dependency database schema modification and version control management tool
- Go-MySQL Driver - MySQL driver
- go-mssqldb - MSSQL driver
- pq - PostgreSQL driver
- mongo-go-driver - Go language driver, officially produced by MongoDB
- clickhouse-go - ClickHouse's official Go voice client
- go-sqlite3 - SQLite3 driver
- gohbase - HBase client
- etcd - Distributed KV storage
- InfluxDB - time series database
- Prometheus - service monitoring system and time series database
- tstorage - time series database
- Thanos - Prometheus support for simplified deployment, high availability and distributed storage
- CockroachDB - Distributed SQL database
- Cayley - graph database
- RadonDB - A new generation of distributed relational databases based on MySQL
- TiDB - Distributed relational database compatible with MySQL protocol
- AresDB - Uber's open-source GPU-driven storage and query engine for real-time analytics
- leveldb - Go implementation of LevelDB
- Dgraph - Distributed graph database
- rqlite - A lightweight distributed relational database based on SQLite
- gaeadb
- BadgerDB - KV database, supports ACID transactions
- LBADD - Distributed SQL database implemented in Go
- go-memdb - In-memory database based on immutable radix trees
- VectorSQL - DBMS database for IoT and Big Data, similar to ClickHouse
- BuntDB - A memory-based KV database that supports disk persistence and ACID transactions
- TinySQL - Small distributed relational database
- Tile38 - GEO database
- Redcon - A custom Redis service compatible with the Redis protocol, using BuntDB and Tile38 for storage
- genji - Documented embedded database
- Dolt - Operate database like Git
- rosedb - A clean and efficient KV database supporting multiple data structures
- LinDB - Distributed time series database
- mandodb - an example project, the author introduces how to implement a small time series database from scratch
- go-mysql-server - A database engine that analyzes MySQL protocol and optimizes SQL
- Milvus - vector database
- FerretDB - MangoDB alternative
- LotusDB - fast KV storage engine compatible with LSM and B+ Tree
- GCache
- bbolt - key/value storage
- BigCache
- go-cache - KV memory cache
- gomemcache - memcache client
- cache2go
- ristretto
- Fastcache
- FreeCache
- godis - Redis server and distributed cluster implemented in Go language
- groupcache - distributed cache
- cachego - supports Redis, Bolt and other cache interfaces
- diskv - Disk-based KV storage
- Pebble - KV storage used by CockroachDB
- wukong - full-text search engine
- go-elasticsearch - Official ES Client
- elastic - Elasticsearch client
- go-mysql-elasticsearch - Sync MySQL data with Elasticsearch
- gse - word segmentation in Go language
- sego - Go to Chinese word segmentation
- gojieba - The Go language version of Chinese word segmentation for "破巴"
- Riot - full-text search engine
- simplefts - super simple full-text search engine implementation
- Blast - full-text search (
Archived
) - Fuzzy Search - Text fuzzy search
- Ginster - One-node training and distributed predictive recommender engine
- gofound - full-text search engine
- ZincSearch - full-text search engine
- Bluge - Text segmentation
- Validator
- ozzo-validation - Use code to specify rules instead of tags
- go-tagexpr - ByteDance open source structure tag expression interpreter
- govalidator
- Casbin - Manage permissions control
- pam-ussh - Pam module for Uber's SSH certificate
- jwt-go - JWT for Go
- kataras/jwt - Lightweight JWT implementation
- cristalhq/jwt
- sessions - backend SESSION service
- securecookie - encryption/decryption of cookies
- Goth - Multi-Provider Authentication for Go
- branca - a token solution claiming to be more secure than JWT
- gin-jwt - JWT middleware for the Gin framework
- Authboss - web authentication system
- goav - FFmpeg video processing
- lal - live streaming network transmission server
- bililive-go - live recording tool
- screego - Share developer screen via browser
- livego - live server
- Monibuca - streaming server development framework
- olive - supports live recording on Huya and other platforms
- Barcode - barcode/QR code generator
- picfit - Image editing, cropping, management server
- gmfs - image editing, cropping, management server
- besticon - favicon service
- Caire - image editing library
- Imaging - imaging library
- gocaptcha - verification code generation
- base64Captcha - verification code
- go-is-svg - Check if it is an SVG image
- identicon - Generate nice random avatar for user based on arbitrary data like user's IP, mailbox name etc.
- prominentcolor - Identify the main color of an image
- dchest/captcha - generates and verifies image or audio captcha
- bimg - image processing
- imaginary - image processing service
- Primitive - Draw graphics with primitive geometry
- orly - create your own O'RLY animal book cover
- smartcrop - Smart cropping of images
- gift - image filter
- Germanium - Generate images for code
- Go Graphics - 2D image rendering
- [canvas] (https://github.com/tdewolff/canvas) - vector drawing
- Formulae - Mathematical formula analysis, calculation, chart creation
- imager - image processing server
- Triangula - Add a triangular filter to the image
- D2 - A charting scripting language that converts text to graphics
- ImGo - Image processing library with concise and chain calls
- go-face - face recognition
- go-echarts - Echarts chart library
- gonum/plot - diagram drawing
- pinhole - 3D wireframe drawing
- globe - Globe wireframe drawing
- ink - 2D graphics framework in Go
- go-plantuml - Generate Plantuml diagram based on Go source code
- go-diagrams - Generate diagrams through code
- GoCity - 3D display city
- Mage - a Make/Rake-like build tool using Go
- GoReleaser - Tool for Go multiplatform binary packaging and homebrew release support
- goxc - Cross-platform compilation tool (Since version 1.5 has built-in cross-compilation, it is no longer maintained)
- Task -
Make
-like build tool - codegangsta/gin - hot compilation tool
- Air - hot compilation tool
- gowatch - hot compilation tool
- Fresh - hot compilation tool
- dh-make-golang - Automatically builds Debian packages
- gobinaries - Compile and install programs written in Go without installing Go
- NFPM - deb, rpm, apk and other packaging tools
- Gox - Go to the cross compilation tool
- pkger - Package static files into Go binaries
- mewn - Static files are embedded and packaged in binaries
- static - static file embedding
- go.rice
- go-bindata - Converts static files to Go code files
- vfsgen - Pack static files into type "http.FileSystem" for access
- packr
- tableflip - web service upgrade
- selfupdate - Binary automatic update
- Overseer
- reviewdog - code review robot
- revive - code inspection analysis
- GolangCI-Lint - Analysis tool to check code quality
- errcheck - detects unhandled errors (Errors)
- Staticcheck - A set of static Go code analysis tools
- Golint - Google's official code quality check tool
- GoReporter
- go-critic
- gocloc - Statistics on the number of lines of code by language
- coca - code statistics analysis
- Go Report Card - Go project quality analysis report tool
- ddsv-go - deadlock detection tool
- golang/perf - official quantitative performance analysis tool
- GoPlantUML - Generate PlantUML class diagrams for Go projects
- gosize - Analyze the size of the Go binary
- shotizam - Analyzing the size of Go binaries and outputting to SQLite3
- goconst - Finds repeating strings that can be replaced with constants
- sploit - library to support binary analysis and usage
- perf - performance utilities for Go
- fgprof - Go to the profiling tool
- conprof - Coroutine Analysis
- statsview - Visual analyzer for real-time Go runtime stats
- codesearch - code search tool
- Pyroscope - Visual tool for monitoring program performance, supports multiple languages
- gosec - Code security check tool
- gokart - Static code analysis tool
- gofumpt -
gofmt
advanced code formatting tool - NoVerify - PHP code analysis tool
- go-spew - variable printing tool
- Delve - debug tool
- gdlv - Delve interface version
- Weaver - Tracking Go program execution links
- repr - Variable printing tool
- pp - tool for printing color variables
- ffmt - Variable printing tool
- gops - Go program monitoring and debugging tool officially developed by Google
- pprof
- go-callvis - Visualize the call graph of a Go program
- q - Automatically print variable types and format the output
- Litter
- RDebug - A handy tool for RD R&D, self-testing and debugging, open source by Didi
- debugcharts - Visual memory usage debugging tool
- gcvis - Visualize gctrace in real time
- package/profile
- statsviz - View runtime statistics of Go application (GC, MemStats, etc.) in real-time in browser
- autopprof - automatic profiling pprof
- stack - Capture, edit and format call stack information
- pretty - Print variable
- go-deadlock - Include
(RW)Mutex
and provide deadlock detection - mmcloughlin/profile
- gcnotifier - notify when GC occurs
- grmon - command line monitor showing goroutines
- valast - outputs the
go/ast
structure of variables, similar to PHP'svar_export
function - lensm - Go assembly and source code comparison display tool
- GoConvey - Unit testing framework with web interface
- GoMock - mock testing framework created by Google
- GoStub
- Monkey - (Archived) Monkey patching in Go
- gomonkey - monkey patch, stack functions, variables etc. to facilitate unit testing, fork of [Monkey](https://github.com/bouk / Ape)
- SuperMonkey - Make private methods testable
- vektra/mocky - mock code autogenerator
- Ginkgo - BBD test framework
- fperf - pressure test tool
- gocheck
- Testify
- gotests - Automatically generate test files based on the source code
- TestSQL - Create test data based on a SQL statement
- httpmock - HTTP mock
- Goblin - BDD testing framework
- go-faker/faker - Struct Data Fake Generator
- gofakeit - random data generator
- dmgk/faker
- go-tprof - Tool for generating package test reports
- go-fuzz - randomized testing for Go
- gofight - Testing the API handler
- sqlmock - SQL tests
- sqlbench - SQL
- silk - interface tests based on markdown
- gock - HTTP mock test
- godog - Go version of Cucumber BDD testing framework
- endly - E2E (end-to-end) tests
- is - Mini testing framework
- Terratest - Infrastructure tests like Docker
- agouti - Web driven acceptance testing framework
- httpexpect - End-to-end framework for HTTP and REST testing
- gocov - test coverage
- miniredis - Redis data test
- htmltest - HTML test
- gnomock - Go code testing framework without mockery
- gunit - framework for testing xUnit style
- Quick Test
- k6 - stress test tool
- go-cover-treemap - Converts coverage test results to treemap
- Error
- errorx
- errwrap - Go tool for wrapping and debugging with new
%w
verb directive - erris - linters for "errors.Is" and "errors.As".
- eris - aims to give you more control over error handling through error packaging, stack traces and output formatting
- errlog - Use static and stack trace analysis to quickly determine which function call caused the error
- juju/errors
- go-fault - Officially produced by GitHub, a fault injection library based on standard library http middleware
- merry - support stack, status code error handling
- cockroachdb/errors - A powerful alternative error handling package for
errors
andgithub.com/pkg/errors
- go-multierror - Support error list
- Kunpeng - Open source POC detection framework
- nmap - Security audit tool
nmap
development kit - Hetty - HTTP security research toolkit, HTTP proxy interception with web interface and proxy log viewer
- Fibratus - Windows kernel exploit and tracking tool
- Secure - HTTP security middleware
- go-hardware - a package that collects a bunch of information about hardware
- cpuid - CPU information
- gopsutil -
ps
function pack - go-sysinfo - system information
- go-locale - Cross-platform speech recognition library
- go-ps - System process information
- psgo -
ps
command implementation - ghw - Hardware information
- go.uuid - UUID library
- SEQSVR - Distributed ID generation service implemented by Go + MySQL
- google/uuid - Google's open source UUID package
- gofrs/uuid
- Snowflake - Twitter Snowflake IDs
- sonyflake - Sony's version of Twitter's Snowflake
- ulid - Universally Unique lexicographically sortable identifier
- ksuid - K-sortable globally unique IDs
- logr - standard interface for log packages
- Logrus - logging package
- zerolog
- zap - A logging package developed by Uber
- Seelog
- logkit - Qiniu open source tool for collecting logs
- gogstash - Logstash-like log collector
- [Lumberjack] (https://github.com/natefinch/lumberjack) - Cutting log files
- file-rotatelogs - Cutting log files
- go-syslog - Extremely fast syslog parser
- glog
- OpenFalcon - Xiaomi's open-source surveillance system
- Prometheus - service monitoring system and time series database
- Grafana - Analysis and monitoring platform, supports Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB and other data sources + grabana - Quickly create Grafana dashboards with Go code
- TeaWeb - A visually intelligent web server that integrates static resources, caching, proxy, statistics and monitoring
- Jaeger - Distributed tracing system
- go-osstat - statistics of system indicators
- graafterm - Metric dashboards on the terminal
- mymon - Monitoring MySQL operation
- PingMe - A service availability alert command tool supporting multiple messaging platforms
- supervisord - Go language implements supervisor
- Fathom - Website statistics
- Veneur - Real-time distributed data processing pipeline
- gonum - in connection with scientific computing
- moby - Docker
- docker-ce
- Rancher - Enterprise-grade, full-stack container management platform
- Gorsair
- docui - TUI client for Docker
- Podman - Manage and run all "OCI" compliant containers and container images
- Skopeo - image management tool
- Buildah - A tool for building "OCI" container images
- go-docker - Implementation of Docker core functions in Go
- Packer - lightweight image definition tool
- Nomad - cluster manager and scheduler
- OpenShift Origin - Containerized software solution developed by Red Hat
- kubernetes - management platform for scheduling containers
- k0s - the smallest k8s distribution
- sealos - A command to deploy Kubernetes high availability clusters
- KubeEye - detects various issues on Kubernetes through configuration rules
- endpoints-operator - 4-layer LB with inspector for K8S internal services to access external services
- goml - machine learning library
- GoLearn - an out-of-the-box machine learning library
- glow - An easy-to-use distributed computing system
- Gobot - language library for robotics and physical computers
- Olivia - Neural Networks
- Pico - Pure Go face recognition library for object recognition paper based on pixel intensity comparison
- tfgo - Tensorflow in Go
- Prophecis - One-stop cloud-native machine learning platform developed by WeBank in-house
- AID - Operations Platform for Machine Learning, Discovery, Deployment, Optimization
- SQLFlow - SQL engine + AI engine
- GoDS - Go implements various data structures
- Dragonboat - Raft consensus algorithm library for multiple groups
- eliben/raft - Raft algorithm
- hashicorp/raft - Raft algorithm
- Graft - Raft algorithm
- golang-lru - implementation of the LRU algorithm
- tinylru
- finn - Fast raft framework using Redis protocol for Go
- xorfilter
- priyankchheda/algorithms - Go language implementation of various algorithms
- meow - meow hash
- basalt - powerful, distributed, dedicated, space-optimized bitmap service to avoid misjudgments by Bloomfilter and CuckooFilter
- go-blurhash - BlurHash, a hash algorithm for blurring images
- xxhash - implementation of the xxHash hash algorithm
- go-multihash - Implementation of various hash algorithms
- memberlist - A development kit for cluster membership management and member failure detection based on the Gossip protocol
- Backoff - Exponential backoff
- FSM - finite state machine
- go-datastructures
- Play-with-Data-Structures - Go version of Playing with Data Structures course
- HashMap
- SipHash - SipHash-2-4
- Bigslice
- golang-set - The missing set collection
- rbang - R!tree implementation
- rtreego - R-tree
- google/btree - B-tree
- tinybtree - B-tree
- dataframe-go - package for data statistics and manipulation
- go-set - collection toolkit
- orderedmap - ordered dictionary
- try
- Slim - Data structure with high space usage
- bitset - bitsets and their operations
- roaring - compressed bitmap
- go-autowire - Automatic generation with annotations wire - Dependency injection
- dig
- FX
- GJSON - JSON interpreter
- SJSON - JSON modification tool
- fastjson - fast JSON parser and validator for Go
- jsonparser
- ffjson
- json-iterator - Didi open source JSON parser
- gojsonq - JSON/YAML/XML/CSV and other data queries
- easyjson
- go-jsonc - Converts annotated JSON to uncommented
- jin - JSON manipulation toolkit with standard library and functions like "tidwall/gjson" and "tidwall/sjson".
- hujson - supports JSON decoding for annotations
- pkg/json - JSON decoder
- ColorJSON - Print color JSON in terminal
- jid - Tool to parse and read JSON data
- jsonc - supports comments and commas
- sonic - Bytedance open source JSON parser and modifier
- go-json
- jsonquery - XPath syntax query JSON
- fx - command line JSON display
- goproxy.io -
GOPROXY
proxy service - goproxy.cn - Proxy service more suitable for home users
- Gopm - Go package management tool
- govendor - package management tool for vendors
- gom - Management tool for package versions
- rvflash/goup - Check if the package version is updated
- owentheal/goup - Switch to managing multiple versions
- Athens - "GOPROXY" proxy service
- Istio [Chinese documentation] - a large microservice systems management tool
- goa
- Micro - Microservice tools
- Go Micro - Microservice framework
- Go-Kit - Go microservice toolset
- GoKit CLI - Go Kit framework
- gogo
- go-chassis
- kites
- Kratos - B-Station open source microservice framework
- Temporal - microservice orchestration platform
- Serf - service orchestration management platform
- Open Policy Agent - general policy engine, CNCF incubation project
- gizmo - microservice toolset
- MOSN - Cloud-native network data plane for edge and service mesh
- Erda - PaaS that provides enterprise DevOps, microservice governance and multi-cloud management
- OpenFaaS - Serverless Functions Made Easy (FaaS framework for function services)
- faasd - Lightweight FaaS engine
- fn - Event-driven FaaS
- riff - Kubernetes-based FaaS
- Nuclio - Serverless framework for real-time events and data
- Flogo - Event driven serverless framework
- Dapr - Microsoft's open-source microservice components for cloud and edge computing
- kubeless
- Fission - Serverless on Kubernetes
- pulumi
- Knative
- fx
- IronFunctions
- scholz/faas - Make the function of any package an HTTP interface
- act - run locally GitHub Actions
- CDS - Continuous Integration Service
- gopub
- CodePub
- syncd - code deployment tool
- Drone - Docker-based continuous release platform
- Cyclone - continuous integration and release platform
- tbls - CI-friendly database documentation tool
- Woodpecker - Fork from Drone
- gogs - Git server similar to GitLab
- Gitea - Git server forked from gogs
- go-git - Git operations implemented in Go
- gitin - Commit/Branch/Status Explorer for Git
- hub - GitHub command line tool
- git-o-matic - a tool for monitoring git warehouse changes and automatic pull/push
- gitbase - Query Git logs in SQL
- git-chglog - Management tool "CHANGELOG".
- chglog - Management tool "CHANGELOG".
- lazyhub - Terminal UI client for GitHub
- goaction - Writing GitHub actions in Go
- bit - Git command extensions with support for auto-completion of file and branch names, command and flag suggestions
- go-github - GitHub API operations library
- askgit - Access Git repository information via SQL
- git2graph - Generate a structure diagram based on the commit record of the git warehouse
- lazygit - Git terminal UI
- gh-dash - GitHub CLI (
gh
) nice terminal panel
- Tollbooth - Simple middleware for rate limiting HTTP requests
- Rate Limit
- RateLimit
- go rate
- Circuit - circuit breaker
- uber-go/ratelimit
- Sentinel - Alibaba's open-source distributed service architecture-oriented control flow component Go language version
- gohalt - current limit
- gobreaker - breaker
- ulule/limiter
- TinyGo - A Go compiler for microcontrollers, WebAssembly and command line tools
- minigo - A Go compiler from scratch
- llir/llvm - LLVM compiler
- jit-compiler -
JIT
compiler - Go+ - Qiniu Cloud open source data science oriented language, fully compatible with Go language
- participle - Generic custom grammar parsing package
- GopherLua - VM and compiler for Lua in Go
- go-lua - A Lua VM in pure Go
- DCLua - Go Lua Compiler and VM
- otto - JavaScript interpreter
- goja - ECMAScript 5.1(+) implementation
- v8go - Run JavaScript from Go
- gpython - Python interpreter for Go
- Grumpy - Convert Python to Go code, open source by Google
- starlark-go - Starlark in Go
- avo - x86 assembler builder
- wagon - WebAssembly interpreter
- GopherJS - Compile Go code to JavaScript code
- Yaegi - Go language interpreter
- properties - Java properties scanner for Go
- jvm.go - JVM
- gobasic - A BASIC interpreter written in Golang
- golisp -
Lisp
interpreter - dst - Go Decorated Syntax Tree
- mvdan/sh - shell parsing, formatting, interface
- tdewolff/parse - general purpose lexical analyzer Lexer with built-in support for parsing HTML/CSS/JSON/XML/JS/SVG syntax
- Joker - Clojure
- z7zmey/php-parser - PHP AST syntax parsing
- eng/go-php - PHP bindings for Go
- goridge - High performance PHP to Golang IPC bridge
- RoadRunner - High performance PHP application server, supports load balancing and process management
- VKCOM/php-parse - PHP AST parsing
- CUE - Configure Unify Execute (validate and define text-based and dynamic configuration)
- cel-go - Common Expression Language (Go implementation of CEL)
- Math-Engine - Mathematical expression analysis and calculation engine library implemented in Go, very suitable for learning syntax analysis
- Gval - expression calculation
- Expression Parsing
- goexp - Recursive descent expression parser in Go
- goastch - Go to the AST syntax analyzer
- tdop
- swallow
- Anko
- Expr - Compile and execute expressions in strings
- Tengo - scripting language written in Go
- V - language written in Go
- kumarUjjawal/bison
- Monkey
- govaluate
- [Compiler] (https://github.com/MauriceGit/compiler) - Compiles custom syntax code into X86-64 assembly
- elvish - Interactive shell language
- QLBridge - Go to the SQL runtime engine
- YQL - SQL WHERE style rules engine
- Flux - InfluxDB data language
- Spiker - A simple regular expression executor written in Go, supporting custom functions and process control, suitable for scenarios with complex business rules
- jennifer - Go code generation
- ifacemaker - generates an interface based on the structure method
- gg - Go code generation
- micro - terminal-based editor
- sourcegraph - code search and navigation
- gore - Run Go code online
- nodebook - Run multiple languages online
- go-pry - Interactively type and run Go code in terminal like Python, R, PHP, etc
- graphql - GraphQL implementation in Go
- graphql-go
- GQLEngine - based on the graphql-go implementation
- RQL - REST resource query language
- Thunder - GraphQL service building framework
- gqlgen - package for creating GraphQL servers
- super-graph - Build complex GraphQL APIs in Go projects without writing any code
- Nano - game development framework
- sheet
- einx
- CloudRetro - Game cloud service framework
- G3N - Go 3D Game Engine
- Ebiten - 2D game library
- Lorca - HTML5 desktop application written in Go that relies on Chrome for UI rendering but does not package Chrome into the application
- webview - Cross-platform desktop software built with Go/C/C++
- walk - Windows GUI toolkit
- go-gtk - Go bindings for GTK
- andlabs/ui - On-board GUI library for Go
- fyne - Material design style GUI
- go-gl - Go bindings for OpenGL (generated via glow)
- therecipe/qt - Qt-based cross-platform UI package
- giu - Cross-platform GUI framework based on Dear ImGui
- go-app - A WebAssembly framework for building GUI apps using Go, HTML and CSS
- wails - Build desktop applications using Go and web technologies
- chromedp - Chrome DevTools browser-driven protocol implemented in pure Go language that can be used in crawler, anti-crawler, testing and other scenarios
- Rod - A devtools driver designed to simplify automation and crawling that uses the browser's programmatic devtools interface to control the browser
- go-astilectron - Cross-platform development based on Electron
- Gio - Cross-platform UI framework for mobile applications
- nucular - Gio based implementation
- GoVCL - cross-platform GUI package
- vugu - WebAssembly UI framework
- GoGi - 2D/3D GUI framework
- systray - Cross-platform support for menu bar management
- go-flutter - Bind Flutter to desktop applications
- NuxUI
- pkg/browser - Open files, URLs in browser
- MacDriver - native macOS API
- gon - Signing and notarization for macOS
- xbar - macOS menu bar management based on Wails.app
- [Aliyunpan Little White Sheep Version] (https://github.com/liupan1890/aliyunpan) - UI is made by Flutter
- golang/mobile - Go mobile support
- ants - goroutine pool
- tunny
- go-workers - Safely run a group of workers simultaneously, input and output across channels
- Machine - Coroutine management inspired by errgroup.Group
- Thread
- RxGo - Go version ReactiveX, simple and convenient processing of asynchronous data streams
- Grift - Go-based task runner
- cron - a cron library on the go
- goCron - A job scheduling package from Golang
- jobrunner
- CurlyQ - Library for processing background tasks
- overtalk/task - task management and execution, supports custom number of iterations
- PPGo_Job - time management system for tasks
- gocelery - Celery's Go language implementation
- [Machines] (https://github.com/RichardKnop/machinery) - Asynchronous task scheduling through distributed messages
- dkron - Distributed task scheduling system
- Grit - Task management based on MultiTree implementation
- Asynq - Asynchronous distributed task queue
- cronsun - distributed task system
- Benthos
- gostream
- Watermill
- go streams
- goflow
- Cadence (Cadence Web UI) - Uber's open source distributed workflow engine, mainly used in scenarios like microservice orchestration and distributed transactions
- weapp - WeChat applet SDK
- wechat - WeChat SDK for Go
- wechat-go - Go implementation of WeChat Web API
- Hyperledger Fabric - Hyperledger based on Blockchain
- go-ethereum - Official Go implementation of the Ethereum protocol
- bbgo - Framework for cryptocurrency trading, written in Go
- btcd - Bitcoin implementation
- cvt - Arbitrary data type conversion, support for custom types, extract structure fields and values
- copier - Copy values between structures
- cast - data type conversion
- diff - structure and value comparison
- go-extend
- com - Toolkit
- php2go - 140+ PHP function packs implemented in Go
- gommon - Common packages for Go
- reflect2 - Reflect API with no runtime Reflect.Value cost
- mapstructure - convert map value to structure
- naza - base library for Go language
- automaxprocs - Automatic setting of
GOMAXPROCS
- c2go - Tool to convert C code to Go code
- rnm - code refactoring help
- memviz - graphical data structure
- underscore.go
- go-testdeep - Very flexible depth comparison package that extends the Go test package
- go-model -
struct
operation package - concurrent-map - Concurrent secure
map
- goleak - Goroutine leak detection
- guregu/null - "null" processing package for SQL/JSON that provides alternative types
- stats - Default numeric stats
- Chronos - static race detector
- collection - Replace native slice
- rf - code refactoring tool
- bytebufferpool - byte buffer pool
- bpool - byte buffer pool, supports bytes.Buffers
- mergo - Merge structure and dictionary data
- go-funk - General functions implemented based on reflection
- lo - shared functions based on 1.18+ generics
- juniper - Realize common container, iterator, data flow and other functionality based on generics
- mergo - merges structures and dictionaries
- xstrings - String related functions
- ChimeraCoder/gojson - Generate structure from JSON
- db2struct - Generate structure according to table structure
- smallnest/gen - Generate structure by table structure
- sqlc - Generate Go code based on SQL statements
- xo - Automatically generate Go code according to table structure or query statement
- LinuxKit - Toolkit for building secure, portable and portable operating systems for containers
- go-systemd - bind systemd
- Lima - Linux-on-Mac ("macOS subsystem for Linux", "containerd for Mac")
- gopher-os - A Linux-compatible 64-bit POSIX-style system
- gouring - implement system calls without relying on CGO
- go-playground - Go Playground better than the official one
- Robotgo - Cross-platform golang automation system, controls keyboard and mouse bitmap and reads screen, window handle and global event monitor
- go-homedir
- i18n -
i18n
multilingual toolkit - go-i18n - multilingual toolkit
- Paginator - pagination tool
- gls - Local goroutine storage
- mcuadros/go-version - Version number comparison
- go-semver - Semantic versioning
- semver - Another semantic version
- hashicorp/go-version
- Metabolize - Decodes HTML meta tags into a golang structure
- otp - One-time password utilities
- [misspelled] (https://github.com/client9/misspell) - Commonly misspelled English words
- CRDT - Implementation of the final consistency algorithm CRDT (Convergent and Commutative Replicated Data Types).
- script - Makes writing shell-like scripts in Go easier
- sysadmin-utils
- licenseclassifier - identifies the LICENSE type in the file
- go-license-detector
- rose - Embed and run Go code in HTML
- esbuild - JavaScript build packaging tool
- clipboard - Cross-platform implementation of the clipboard
- Timeliner - Collect and organize personal data on social networking sites and index them in timelines
- hc -
HomeKit
platform development framework - adresse - address processing library, supports multiple languages
- webhook - webhook service that can run shell commands
- webhookd - webhook service for shell scripts
- go-cid - CID spec Go language implementation
- gorush - APP message notification service
- EventBus - event bus
- go-winio - provides interface support for Win32 IO operations
- clipboard - clipboard
- fq - reads binary data/files in jq syntax
- [Gophers] (https://github.com/egonelbre/gophers)
- syndbg/goenv - Go version management
- wfarr/goenv - Go version management
- gvm - Go version management
- GoLand - IDE software
- Visual Studio Code
- Go 101
- Golang sizeof tips - Enter the structure definition and the storage layout will appear
- Golang programs
- Golangbot