目录(Contents)
-
- Audio & Music
- Authentication & OAuth
- Command Line
- Configuration
- Continuous Integration
- CSS Preprocessors
- Data Structures
- Database
- Database Drivers
- Date & Time
- Distributed Systems
- Embeddable Scripting Languages
- Financial
- Forms
- Game Development
- Generation & Generics
- Goroutines
- GUI
- Hardware
- Images
- Logging
- Machine Learning
- Messaging
- Miscellaneous
- Natural Language Processing
- Networking
- OpenGL
- ORM
- Package Management
- Pool
- Resource Embedding
- Science and Data Analysis
- Security
- Serialization
- Storage
- Template Engines
- Testing
- Text Processing
- Third-party APIs
- Utilities
- Validation
- Version Control
- Video
- Web Frameworks
- Windows
Audio/Music
Libraries for manipulating audio.
Authentication & OAuth
Libraries for implementing authentications schemes.
Command Line
Standard CLI
Libraries for building standard or basic Command Line applications
- readline:纯Go实现的GNU Readline的CLI库,提供类似zsh的交互体验。
Advanced Console UIs
Libraries for building Console Applications and Console User Interfaces
- gcli Go的命令行应用,工具库,运行CLI命令,支持命令行色彩、用户交互、进度显示、数据格式化显示、生成bash/zsh命令补全脚本
Configuration
配置文件解析库
Continuous Integration
Tools for help with continuous integration
CSS Preprocessors
Libraries for preprocessing CSS files
Data Structures
通用的数据结构和算法库。
- go-tagexpr:一个可用于字段验证等目的Go结构体标记表达式库。
Database
用Go语言实现的数据库。
- CovenantSQL:利用区块链技术的一个众包SQL数据库。
- DTM:解决分布式事务的中间件。框架层代为处理幂等、空补偿等问题,且适用于多语言技术栈。
- Godis:一个用 Golang 实现的 Redis 服务器,支持 Redis 的大多数功能并自带集群模式
- LedisDB:一个高性能的分布式数据库,类似于并兼容Redis。
- Tedis:Tedis 是一个基于TiKV的NoSQL数据库,拥有强一致性,并且兼容 Redis 协议。
- TiDB:一个支持SQL的分布式数据库,其参考了Google F1的设计,兼具NoSQL和传统关系型数据库的优点。
- NutsDB: 一个简单、高性能、内嵌型的KV数据库,支持事务以及多种数据结构包括list, set, sorted set。
- rosedb:一个仿 Redis 的内嵌 k-v 数据库,支持 string、list、hash、set、sorted set 多种数据结构。
Database tools.
SQL query builder, libraries for building and using SQL.
Database Drivers
Libraries for connecting and operating databases.
-
Relational Databases
-
NoSQL Databases
-
Search and Analytic Databases
Date & Time
Libraries for working with dates and times.
Distributed Systems
用于构建分布式系统的库/框架,或可运行的分布式系统。
- eru:一款可以混合调度编排 container/vm 的平台组件。
- glow:一个易于使用的分布式系统,可作为Hadoop、Spark、Flint、Samza的替代品。
- hprose-golang:一个支持 20 多种语言的功能强大,简单易用的高性能动态 RPC,该版本是它的 go 语言实现。
- kafka-pusher(taiji):Kafka-pusher(又名太极)是kafka服务的消费者实现,它可以拉取(pull)消费kafka中的消息,并通过HTTP方式推送(push)给任何接口。
- mqproxy:mqproxy是kafka的http代理服务。
- GoFrame:一款模块化、高性能、企业级的Go基础开发框架,并实现了比较完善的基础设施建设以及开发工具链。
Libraries that implement email creation and sending
Embeddable Scripting Languages
Embedding other languages inside your go code
Financial
Packages for accounting and finance
Forms
Libraries for working with forms.
Game Development
游戏开发库。
Generation & Generics
Tools to enhance the language with features like generics via code generation
Goroutines
管理和调度 goroutines 的工具库
- ants: A high-performance goroutine pool in Go.
GUI
Libraries for building GUI Applications
Hardware
Libraries, tools, and tutorials for interacting with hardware.
Images
Libraries for manipulating images.
Logging
Libraries for generating and working with log files.
Machine Learning
与机器学习有关的库。
- gorse:一个高性能的、基于协同过滤的推荐系统代码包。
Messaging
用于实现消息系统的库,或可运行的消息系统。
- goim:一个轻量级、高性能的即时通讯服务器。
- gopush-cluster:一个易集群化的的Comet服务器,支持Web Socket和TCP协议。
- KiteQ:支持多种持久化方案的消息队列框架。
Miscellaneous
These libraries were placed here because none of the other categories seemed to fit
Natural Language Processing
Libraries for working with human languages.
Networking
可在网络中任意一层工作的库。
- gnet: A high-performance, lightweight, nonblocking, event-loop networking library written in pure Go.
- Kube-OVN: 基于 OVN 的 Kubernetes 网络编排系统。
- link:灵活的网络层脚手架,可用来快速搭建各种项目所需的网络层。
- Pholcus:Pholcus(幽灵蛛)是一款纯Go语言编写的支持分布式的高并发、重量级爬虫软件,定位于互联网数据采集,为具备一定Go或JS编程基础的人提供一个只需关注规则定制的功能强大的爬虫工具。
- Surfer:Surfer 是一款Go语言编写的高并发 web 客户端,拥有surf与phantom两种下载内核,高度模拟浏览器行为,可实现模拟登录等功能。
- Tao:轻量级TCP异步框架。
- Teleport:Teleport是一个通用、高效、灵活的TCP Socket框架。可用于Peer-Peer对等通信、RPC、长连接网关、微服务、推送服务,游戏服务等领域。
OpenGL
Libraries for using OpenGL in Go.
ORM
实现对象-关系映射或其它数据映射技术的库。
- GORM: 程序员友好的全功能ORM,API 简洁,支持Model之间一对一、一对多、多对多关联,还可通过插件扩展功能等。
- xorm:一个简单且强大的ORM库,支持MySQL、Postgres、TiDB、SQLite 3、MSSQL、Oracle等。
Package Management
实现代码包或/和依赖管理的库。
- gopm:一个代码包和依赖管理工具。它无需Git、Hg等版本管理工具,就可以下载指定版本的Go代码包。
Pool
具有通用功能的对象池。
- go-commons-pool:通用的Golang对象池,改写自Java版本的 Apache Commons Pool,具有丰富的配置选项以及超时机制。
- slab:基于slab算法的内存池,提供无锁内存池和基于
sync.Pool
的内存池两种实现。
Resource Embedding
Science and Data Analysis
Libraries for scientific computing and data analyzing.
Security
用于安全防护的库、框架或服务器。
- gocaptcha:goCaptcha是支持中文和干扰线的验证码服务器。
Serialization
Libraries and tools for binary serialization
Storage
存储相关的软件库以及系统。
- gotgt:一个完整的用户态实现的iSCSI target,后端可以适配任何其他存储系统。
Server Applications
通用的独立服务器软件。
- Ran:一款支持 Digest 认证、gzip 压缩、TLS 加密等功能的静态 web 服务器。
Template Engines
Libraries and tools for templating and lexing.
Testing
Libraries for testing codebases and generating test data.
-
Testing Frameworks
-
Mock
-
Fuzzing and delta-debugging/reducing/shrinking
Text Processing
Libraries for parsing and manipulating texts.
- Specific Formats
Text Search
全文搜索引擎或服务器。
- wukong:高效、高可定制的全文搜索引擎。
Third-party APIs
提供针对第三方平台的访问和操作功能的库。
Utilities
有用的工具。
- bat:bat是类似curl的对人类友好的命令行程序,可以用来调试HTTP服务。
- bcbc:根据银联银行卡号查询所在银行以及银行卡类型的工具。
- g:golang多版本管理器。
- soar:一个对SQL进行优化和改写的自动化工具。由小米人工智能与云平台的数据库团队开发与维护。
- tsdump:数据库表结构导出工具。
Validation
Libraries for validation.
Version Control
用于进行版本控制的库或服务器。
Video
Libraries for manipulating video.
- lal:Golang 直播流媒体网络传输服务
Web Frameworks
Web开发框架。
- Beego:Beego是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,框架具有简单化、智能化、模块化、高性能等特性。
- Faygo:Faygo 是一款快速、简洁的Go Web框架,可用极少的代码开发出高性能的Web应用程序(尤其是API接口)。只需定义 struct Handler,Faygo 就能自动绑定、验证请求参数并生成在线API文档。
- Gin-X 基于Gin封装的开发模板,以便快速上手。
- Macaron:高生产力和模块化设计的 Go Web 框架。
- snake 一款小巧的基于Go构建的开发框架,可以快速构建API服务或者Web网站进行业务开发,遵循SOLID设计原则
Middlewares
Actual middlewares
- Gin Metrics:基于Gin的一个中间件,负责将请求的日志以Metrics个方式暴露出来,通过Prometheus抓取之后在Grafana展示。只要不到10分钟即可在原有的架构基础上搭建一套监控系统。
- Gaea:小米中国区电商研发部研发的基于MySQL协议的数据库中间件。
- Overlord:针对Memcache和Redis的代理及集群管理中间件,致力于提供自动化高可用的缓存服务解决方案。
Libraries for creating HTTP middlewares
Routers
Web请求路由器。
- Gorouter: Gorouter是一个简单高性能的http router,支持正则,基于Gorouter很方便组建自己的web框架以及编写RestFul Api。
Tools
Go software and plugins.
Code Analysis
- go-checkstyle 根据go语言规范,参考 java checkstyle 实现的代码风格检查工具
Redis Analysis
- go-redis-memory-analysis 🔎 根据Key前缀分析Redis内存占用情况,并将分析结果导出为CSV文件。
Editor Plugins
Software Packages
Software written in Go.
DevOps Tools
- http-log-exporter 一个将 Nginx、Gin 等 HTTP 请求日志转化为 Prometheus Metrics 的工具,支持 histogram 和 exemplar 配置。
Other Software
Resources
Where to discover new Go libraries.
Benchmarks
Conferences
- GopherChina:Go语言官方认可的中国用户社区会议。
E-Books
- Go命令教程:讲述Go语言标准工具的使用方法,展现Go语言给力的工程理念。
- Go名库讲解:一套针对Go语言的第三方库进行评测讲解的集博客、示例与语音视频为一体的综合教程。
- Go Web编程:讲述使用Go语言进行Web编程的方方面面。
- Go学习笔记:雨痕的个人学习笔记。
- 42分钟乱入 GAE(with go1) 大妈的实例功能开发自学笔记
Online Tutorials
- Go语言第一课:Go语言入门的必备知识扩散。【免费】
- Go 编程基础:新手入门必备教程。【免费】
- Go 核心技术36讲:深入讲解Go语言核心技术的在线课程。【付费】
Websites
- GoHackers:GoHackers技术社群,基地在北京,以在线即时交流为主,同时会不定期主办或参与相关的技术活动和技术会议。此社群同时拥有一系列微信群、微信公众号
GoHackersZero
,GitHub组织GoHackers
,以及知识星球GoHackers VIP
。 - Go中国技术社区
- Go语言中文网
- Golang中国
- Go Walker
- 登录 发表评论