跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) 聊天机器人(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 编程语言(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)

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 编写的IRCSlack 和Telegram机器人。
  • 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 : 使用Redis 和JSON进行消息传递的面向服务的 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-go 的 Go 终端仪表盘,灵感来源于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,一个易于使用的静态和动态配置包,支持 envars 和 Consul 集成。
  • 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是 LevelDB的 Go 语言封装
  • 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 : 基于 Web 的 PostgreSQL 数据库浏览工具
  • 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 : Dynago 是 DynamoDB 的客户端。
    • forestdb : ForestDBGo语言封装
    • go-couchbase :Go语言Couchbase客户端
    • go-pilosa : 用于Pilosa的Go客户端库。
    • go-rejson : Redislabs 的 ReJSON 模块的 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 KV 的 Go 语言驱动
    • 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、Websockets 和 love 构建的高性能、分布式、安全和低延迟的发布-订阅平台。
  • 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 : Email 及 SMTP 测试工具,具有 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 API的 Go 语言接口。
  • 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 Layer 的 Go封装。
  • 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, HTML 和 CSS 进行应用程序开发的库, 支持 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 语言库,用于在主机系统任务条区域放置按钮及菜单

硬件

与硬件交互的库、工具


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 : OpenCV 的 Go 语言接口
  • go-webcolors : webcolors 库的Go语言接口
  • gocv : 使用 OpenCV 3.3+ 的计算机视觉的 Go 包。
  • goimagehash : Go感知图像哈希包。
  • goimghdr : imghdr 模块为 Go 确定文件中包含的图像类型。
  • govatar : 用于生成有趣头像的库和命令行工具。
  • gridder : 基于网格的2D图形库。
  • image2ascii : 将图像转换为ASCII码。
  • imagick : ImageMagick 的 MagickWand C 语言 API 的 Go 语言接口
  • 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 logger 的 io.Writer 实现。
  • logrus : Go的结构化日志记录器。
  • logrusly : logrus插件,用于将错误发送到Loggly
  • logur : 日志记录接口和日志记录最佳实践的整合,它对诸多知名库如logrusgo-kit logzap , zerolog等的功能进行了集成
  • 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 : 用于 PMML 的 Go 评分 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 Client 是ConfluentApache KafkaConfluent Platform开发的Golang客户端。
  • dbus : D-Bus的 Go 语言接口
  • 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/实时服务的包,使用 NATS 和 Resgate 实现客户端无缝同步。
  • go-socket.ioGo 语言的 socket.io库 ,一个实时应用框架.
  • go-vitotrol : Viessmann Vitotrol 服务的 Go 语言客户端
  • Gollum : 一个 n:m 的多路复用器,从不同的源汇聚消息并向目标进行广播
  • golongpoll : HTTP 长轮询服务器库,让 web 发布与订阅变的更简单.
  • gopush-cluster : Gopush-cluster 是一个Go语言实现的支持集群的comet服务(支持 websockettcp协议)
  • gorush 通知推送服务器,使用 APNs2 和 GCM 。
  • 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.Connection 和 amqp.Dialgo语言封装。允许在连接中断时进行重新连接,然后再强制调用关闭方法。
  • sarama : 用于 Apache Kafka 的库
  • Uniqush-Push : 基于 Redis 的统一推服务,用于服务器端向移动客户端推送消息
  • zmq4 : ZeroMQ version 4的 GO 语言接口。也有适用于version 3 及 version 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 : 基于 Guice 的 Go 依赖注入工具包。
  • 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、GitLab 和 Bitbucket
  • 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, TLS 或WebSocketsMQTT 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, PostgreSQL 和SQLite3)。
  • 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, Bundler 和Pip这些工具的的启发
  • 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 : Go 的argon2 包的封装,与Go 的标准库 Bcrypt 和simple-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系列 API 的Go 实现
  • 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、OSX 或Windows上本地运行一个真正的 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 : 类似 YATSPEC 的Go BDD测试框架。
    • gomatch : 类似Rspec 的匹配器/断言库。
    • gomega : 类似Rspec 的matcher/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 x2j 和j2x 包.
    • pagser : Pagser是一个简单的、可扩展的、可配置的、基于goquerystruct标签的golang 爬虫解析和反序列化工具,能够将html页面映射到struct结构体中。
    • podcast : Golang中兼容iTunesRSS 2.0的播客生成器。
    • sdp : SDP Session Description ProtocolRFC 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 汇总


工具库

可以提升效率的通用代码库和工具

  • 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 bsdiff 和bspatch库以及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 : Direct3D9 的Go 语言封装
  • go-ole : 为Go语言实现的Win32 OLE
  • gosddl : 从SDDL-string到用户友好的JSON的转换器。SDDL由四个部分组成。Owner、Primary Group、DACL、SACL

XML

  • XML-Comp : 命令行 XML比较工具,可以生成关于目录、文件和标签对差异信息
  • xml2map : Golang编写的XMLMAP的转换器。
  • xmlwriter : 基于 libxml2 的xmlwriter 模块的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 : 检测源代码中的排他性代码段。
文章链接