侧边栏壁纸
博主头像
smile博主等级

计科专业20级学生

  • 累计撰写 50 篇文章
  • 累计创建 69 个标签
  • 累计收到 12 条评论

目 录CONTENT

文章目录

Go语言中文资源网

smile
2022-08-30 / 0 评论 / 1 点赞 / 265 阅读 / 37,447 字 / 正在检测是否收录...
温馨提示:
文章最后更新于 2022-08-30,若内容或图片失效,请评论反馈,我们将收到邮箱。部分素材来自网络,若不小心影响到您的利益,请联系我们删除✌️。

第14节 Go语言中文资源网

❤️💕💕CS自学指南,大学教育无论是深度还是广度都没有办法支撑我们的职业素养,这个板块算是自己在CS学习中额外补充和记录的。个人博客:




    音频和音乐库

    • flac : 原生Go语言编写的FLAC数据流编码与解码器。
    • gaad : 原生Go语言编写的AAC比特流解析器。
    • go-sox : libsox库的go语言封装
    • GoAudio : 原生Go语言编写的音频处理库。
    • gosamplerate : libsamplerate库的Go语言封装
    • id3v2 :go语言开发的ID3编码和解码库,具有快速和稳定的特性。
    • malgo :go语言开发的迷你音频库。
    • minimp3 : 轻量级MP3解码库。
    • mix : 针对音乐类应用程序的基于序列的Go原生音频混音器。
    • mp3 : 原生Go语言的mp3解码器.
    • music-theory : 基于go语言音乐理论模型。
    • Oto : 可用于在多个平台上播放音频的底层库
    • PortAudio : 音频I/OPortAudiogo语言封装
    • portmidi : 音频I/OPortMidigo语言封装
    • vorbis : Go语言版Vorbis解码器(使用到CGO,但并不依赖与cgo)
    • waveform : 基于音频流来生成音频波形图的go语言库

    认证和OAuth授权

    • authboss : 针对web应用的模块化认证系统,尽量去除模版代码和硬编码来以灵活可配置的方式来嵌入到web应用程序中,从而避免重复编码和重复配置。
    • branca : Branca TokensGolang实现。
    • casbin : 支持ACLRBACABAC等访问控制模型的授权与认证库。
    • cookiestxt : 支持cookies.txt 文件格式的解析器。
    • go-email-normalizer : 用于支持电子邮件地址的规范表示的Golang库,。
    • go-guardian : Go-Guardian支持以简洁又清晰的方式来进行API认证和web认证,认证模型支持LDAPBasicBearer token和基于证书的认证
    • go-jose : 相当完整地实现了JOSE工作组的JSON Web TokenJSON Web SignaturesJSON Web Encryption规范。
    • go-oauth2-server : 不需要其他依赖的、符合规范的、用Golang 编写的OAuth2 服务器。
    • gologin : 适用于OAuth1和OAuth2多身份登录认证的实现方案
    • gorbac : Golang中一个轻量级的基于角色的访问控制(RBAC)实现。
    • goth : 以简单、干净、常用的方式来使用OAuthOAuth2。支持多种身份认证。
    • httpauth : HTTP认证中间件
    • jeff : 简单、灵活、安全、习惯性的Web会话管理,支持可插拔的后端。
    • jwt : 干净且易于使用的JSON网络令牌JWT的实现。
    • jwt : 轻量级JSON网络令牌(JWT)库。
    • jwt : 针对go语言的 安全、简单、快速的JSON Web Tokens 。
    • jwt-auth : 用于Golang http服务器的JWT中间件,有许多配置选项。
    • jwt-go : -JSON Web Tokens(JWT)的Golang实现。
    • loginsrv : JWT登录微服务,具有可插拔的后端,如OAuth2 (Github)htpasswdOSIAM
    • oauth2 : 继承自goauth2。实现了JWT,Google APIs,GCE,GAE的通用OAuth 2.0授权包。
    • osin : Go语言 OAuth2 服务器库
    • otpgo : 基于时间的一次性密码TOTP和基于HMAC 的一次性密码HOTP库。
    • paseto : 平台无关的安全令牌(PASETO)Golang实现。
    • permissions2 : 用于跟踪用户、登录状态和权限的库,依赖安全cookiesbcrypt
    • rbac : 用于Go应用程序的极简RBAC库。
    • scope : 在Go中轻松管理OAuth2作用域。
    • scs : HTTP服务器的会话管理器。
    • securecookie : 高效的安全cookie编码/解码库。
    • session : Go 语言会话管理(支持Google App Engine - GAE)
    • sessiongate-go : 使用 SessionGate Redis模块进行 Go会话管理。
    • sessions : 为Go语言HTTP 服务器开发的非常简单的、高性能的、高可定制的会话服务
    • sessionup : 简单而有效的HTTP会话管理和标识库。
    • sjwt : - 简单的jwt生成器和解析器。

    机器人相关

    构建和使用机器人的库

    • ephemeral-roles : 根据语音频道成员是否出现来管理临时角色的机器人。
    • go-chat-bot : 用Go 编写的IRCSlackTelegram机器人。
    • go-joe : 受 Hubot 启发,用 Go 编写的通用型机器人库。
    • go-sarah : 为聊天服务如LINESlackGitter 等构建机器人的框架。
    • go-tgbot : 由swagger文件、基于会话的路由器和中间件生成的纯Golang实现的Telegram机器人API封装。
    • go-twitch-irc : 用于编写twitch.tv聊天机器人的库。
    • Golang CryptoTrading Bot : golang实现的基于控制台的加密货币交易所交易机器人库
    • govkbot : 简单的Go VK机器人库。
    • hanu : 用于编写Slack机器人的框架。
    • Kelp : Stellar DEX的官方交易机器人。开箱即用,用Golang编写,兼容中心化交易所和自定义交易策略。
    • margelet : 用于构建Telegram机器人的框架。
    • micha : 封装Telegram机器人api的Go库。
    • olivia : 一个用人工神经网络构建的聊天机器人。
    • slacker : 用于创建Slack机器人的简单易用框架。
    • slackscot : 构建Slack机器人的框架。
    • tbot : Telegram机器人服务器,其API类似于net/http
    • telebot : 用Go编写的Telegram机器人框架。
    • telegram-bot-api : 简单干净的Telegram机器人客户端。
    • Tenyks : 使用RedisJSON进行消息传递的面向服务的 IRC机器人。

    命令行工具

    标准 CLI

    用于创建一个标准命令行应用程序的库

    • 1build : 管理项目专用命令的命令行工具。
    • argparse : 受Pythonargparse模块启发的命令行参数解析器。
    • argv : 用于分隔使用bash的语法的命令行字符串并将其作为参数的Go 语言库,
    • cli : 功能强大,使用简单的命令行软件库,基于Golang 结构体tag实现
    • cli : 一个功能丰富、易于使用的命令行工具包
    • climax : 可以显示“人脸”的命令替代库。
    • clîr : 一个简单而清晰的CLI库,不需要其他依赖。
    • cmd : 扩展了标准flag包,具有支持子命令的特性
    • cmdr : 一个POSIX/GNU风格,类似于getopt的命令行UI的Go库。
    • cobra : 一个现代化的命令行。
    • commandeer : 开发友好的CLI应用程序:基于结构字段和标签设置标志参数、默认值和用法。
    • complete : 使用 Go 语言编写的 bash 命令补全工具以及Go命令补全工具
    • Dnote : 支持多设备同步的命令行笔记工具。
    • env : 基于tag的结构体环境配置。
    • flag : 简单而强大的Go命令行选项解析库,支持子命令。
    • flaggy : 功能强大的flag包,具有出色的子命令支持。
    • flagvar : Go标准标志包的标志参数类型集合。
    • go-arg : Go中基于结构体的参数解析。
    • go-commander : 用于简化CLI工作流程的 Go 库。
    • go-flags : GO命令行选项解析器。
    • go-getoptions : Go 选项解析器,灵感来自 Perl 中灵活性的 GetOpt::Long
    • gocmd : 用于构建命令行应用程序的 Go 库。
    • hiboot cli : 具有自动配置和依赖注入功能的 cli 应用程序框架。
    • job : 将你的短期命令转化为长期作业。
    • kingpin : 支持子命令的命令行和标志位解析器。
    • liner : 命令行文本解析器
    • mitchellh/cli : 用于实现命令行交互的 Go 语言库
    • mow.cli : 用于构建命令行程序的工具库,支持更加精准的标记及选项解析和验证
    • ops : Unikernel 编辑器和生成器
    • pflag : Go flag软件包的替代品, 实现了POSIX/GNU风格的flags.
    • sand : 用于创建解释器等工具的简单API库。
    • sflags : 基于结构体的 flag 生成器,支持flag, urfave/cli, pflag, cobra, kingpin等其他库
    • strumt : 用于创建提示链的库。
    • ts : 时间戳转换和比较工具。
    • ukautz/clif : 一个小型命令行程序开发框架
    • urfave/cli : 简单、快速、有趣的、用于构建 Go 语言命令行程序的软件包。
    • wlog : 简单的日志接口,具有跨平台和并发支持等特性
    • wmenu : 为命令行程序提供简单的菜单结构选项来提供给用户来进行选择

    高级控制台UI

    用于构建控制台应用程序和控制台用户界面的库.

    • asciigraph : 没有其他依赖的可以在命令行应用中制作轻量级的ASCII行图┈┈╭╯的go语言工具包
    • aurora : ANSI 终端颜色,支持 fmt.Printf/Sprintf
    • cfmt : 受bootstrap颜色类启发的上下文fmt
    • cfmt : 简单方便的格式化风格化输出,与fmt库完全兼容
    • chalk : 符合直觉的用于美化命令行输出的库
    • colourize : 支持终端输出带色彩的ANSI字符。
    • ctc : 非侵入式的跨平台终端颜色库,不需要修改打印方法
    • go-ataman : 用于在终端中渲染 ANSI 彩色文本模板的 Go 库。
    • go-colorable : Windows上使用的可以输出彩色文本的库
    • go-colortext : 用于在终端进行多彩文字输出的库
    • go-isatty : go语言版本的isatty
    • go-prompt : 受 python-prompt-toolkit 的启发,用于构建强大的交互式提示符的go语言库
    • gocui : 极简的控制台用户界面创建库.
    • gommon/color :多样的命令行文本
    • gookit/color : 格式化终端文本。
    • mpb : 为命令行提供多个进度条的工具
    • progressbar : 适用于各种操作系统的,线程安全进度条管理库。
    • pterm : 在每个平台上美化控制台输出的库,有许多可组合的组件。
    • simpletable : 在终端中用Go实现简单的表格。
    • tabby : 超级简单的Golang表格的库。
    • table : 基于终端颜色的表格库。
    • tabular : 从命令行工具中打印ASCII表格,而不需要向API传递大量数据集。
    • termbox-go : Termbox是一个用于创建跨平台文本界面的库。
    • termdash : 基于 termbox-go Go 终端仪表盘,灵感来自 termui
    • termui : 基于 termbox-goGo 终端仪表盘,灵感来源于blessed-contrib
    • uilive : 用于实时更新终端输出的库
    • uiprogress :用于渲染进度条的库
    • uitable : 用于改善命令行中,表格数据可读性的库
    • yacspin : 用于终端的CLi Spinner 工具包。

    配置管理

    配置解析库

    • aconfig : 简单、有用的配置加载器。
    • cleanenv : 简约的配置读取器(从文件、ENV以及任何你想要的地方读取)。
    • config : 一个轻量级但功能强大的Go项目配置包。
    • config : 云端本地应用配置。只需两行就可以将ENV绑定到结构上
    • config : 具有环境变量和标志解析功能的JSONYAML配置包装器。
    • configuration : 用于从环境变量、文件、标志和 "默认 "标签初始化配置结构的库。
    • configure : 可以通过多种途径进行配置,包括 JSON 标记位以及环境变量
    • configuro : 来自ENVFiles的意见性配置加载和验证框架,专注于12-Factor兼容应用程序。
    • confita : 从多个后端级联加载配置到一个结构中。
    • conflate : 从任意URL合并多个JSON/YAML/TOML文件的库/工具,对JSON模式进行验证,并应用模式中定义的默认值。
    • env : 解析环境变量为 Go 语言结构体
    • envcfg : 解析环境变量为 Go 语言结构体
    • envconf : 通过环境变量来配置
    • envconfig : 通过环境变量读取配置
    • envh : 管理环境变量的助手
    • fig : 用于从文件和环境变量中读取配置的小型库(带有验证和默认值)。
    • gcfg : 读取类似 INI 类型的配置文件为 Go 语言结构体,支持自定义类型。
    • genv : 通过 dotenv 支持轻松读取环境变量。
    • go-aws-ssm : 从 AWS System Manager - Parameter Store 获取参数的 Go 包。
    • go-ini : Go 包,可对 INI 文件进行整理和解整理。
    • go-ssm-config : 用于从 AWS SSM(参数存储)加载配置参数的 Go 工具。
    • go-up : 一个简单的配置库,具有递归占位符解析功能,没有各种怪招。
    • goConfig : 解析一个结构作为输入,并将命令行、环境变量和配置文件中的参数填充到该结构的字段中。
    • godotenv : 把 Rubydotenv 库移植到 Go (从 .env 中加载环境变量)。
    • gofigure : 让 Go 语言应用程序配置变得简单
    • gone/jconf : 模块化 JSON 配置工具。允许你将配置参数结构体和使用它的代码放在一起,而不需要让主配置文件了解所有子模块的细节来进行序列
    • gookit/config : 应用程序配置管理(load,get,set),支持JSON、YAML、TOML、INI、HCL
    • harvester : Harvester,一个易于使用的静态和动态配置包,支持 envarsConsul 集成。
    • hjson : 便于程序员使用和阅读的配置文件格式。具有更加轻松的语法,更少的错误和更多的注释
    • hocon : 用于使用HOCON(一种人类友好的JSON超集)格式的配置库,支持环境变量、引用其他值、注释和多文件等功能。
    • ingo : 将配置标记持久化到一个类似 ini 的文件中
    • ini : 用于读写INI 文件的库
    • joshbetz/config : 消息配置库,可以解析环境变量、JSON 文件并根据SIGHUP自动重新载入
    • kelseyhightower/envconfig : 用于管理环境变量配置数据的 Go 库。
    • koanf : 轻量级、可扩展的库,用于读取Go应用程序中的配置。内置支持JSON、TOML、YAML、env、命令行。
    • konfig : 为分布式处理时代的Go提供可组合、可观察和可执行的配置处理。
    • mini : 用于解析类 ini 文件的库
    • nasermirzaei89/env : 用于读取环境变量的简单实用包
    • onion : 基于分层结构的Go配置库,支持JSON、TOML、YAML、properties、etcd、env以及使用PGP加密。
    • store : Go的轻量级配置管理器,支持JSON、TOML、YAML、properties等。
    • swap : 基于构建环境,递归地实例化/配置结构解析库。
    • typenv : 简约、零依赖、类型化的环境变量库。
    • viper :Go语言配置工具
    • xdg : 遵守 XDG 标准 的配置工具XDG 标准

    持续集成

    持续集成的辅助工具

    • CDS : 企业级CI/CDDevOps自动化开源平台。
    • drone : Drone 是一个基于 Docker的持续集成平台,使用 Go 语言编写
    • duci : 简单的ci服务器,不需要特定领域的语言。
    • gomason : 从一个干净的工作空间测试、构建、签署和发布你的go二进制文件
    • goveralls : Coveralls.io 是一个持续代码覆盖率检测系统,这个库提供了 Go 语言的支持
    • overalls : 针对多package Go 语言项目,为 Goveralls 这样的工具生成覆盖率报告
    • roveralls : 回归覆盖测试工具

    CSS预处理

    预处理css文件的库

    • gcss : 纯 Go 语言编写的 CSS 预处理器
    • go-libsass : 100%兼容 Sass 的库 libsass Go 语言封装

    数据结构

    go语言实现的数据结构与算法

    • algorithms : 算法和数据结构学习资料
    • binpacker : 二进制数据封包拆包工具,帮你构建自定义的二进制数据流
    • bit : Go语言集合数据结构。提供了额外的位操作功能
    • bitset : 实现了 bitset Go 语言包.
    • bloom : Go 语言实现的布隆过滤器(bloom filter
    • bloom : Go 语言实现的布隆过滤器
    • boomfilters : 概率统计数据结构,用于处理大量连续的数据。
    • cmap : 一个用于go的线程安全的并发地图,支持使用interface{}作为键
    • concurrent-writer : bufio.Writer的高并发drop-in替代品
    • conjungo : 一个小巧、强大、灵活的合并库。
    • count-min-log : Go语言实现的 Count-Min-Log sketch 算法(类似 Count-Min sketch 算法,但是使用的内存更少)
    • crunch : Go包,实现缓冲区,方便处理各种数据类型。
    • cuckoofilter : Cuckoo过滤器:一个用go语言实现的计数布隆过滤器的替代品
    • deque : 高度优化的双端队列。
    • deque : 快速的环形缓冲区 deque(双端队列)。
    • dict : Go 的类似Python的字典 (dict)
    • encoding : 整型压缩库
    • go-adaptive-radix-tree : Go 语言实现的自适应基数树
    • go-datastructures:一组有用的、高性能的、线程安全的数据结构
    • go-edlib : 与 Unicode 兼容的 Go 字符串比较和编辑距离算法库(Levenshtein、LCS、Hamming、Damerau levenshtein、Jaro-Winkler 等)。
    • go-ef : Elias-Fano编码的Go实现。
    • go-geoindex : 基于内存存储的地理索引
    • go-mcache : 快速的内存key:value存储/缓存库。
    • go-rquad : 区域四叉树,支持有效点位置和领域发现
    • gocache : 完整的Go缓存库,支持多个存储(内存、memcache、redis......)。
    • goconcurrentqueue : 并发FIFO队列。
    • gods : Go语言数据结构、容器、集合、列表、栈、键值对、 BidiMaps、树、HashSet
    • gofal : Go的微分算法库。
    • golang-set : 线程安全和非线程安全的高性能集合
    • goset : Go集合实现。
    • goskiplist : Go语言实现的跳跃表
    • gostl : 数据结构和算法库,旨在提供类似于 C++ STL 的功能。
    • gota : 为go语言实现了数据帧,序列以及数据噪音的方法
    • goterator : 迭代器的实现,提供映射和减少功能。
    • hide :具有hash 函数功能,以防止向客户端发送敏感ID`。
    • hilbert : 用于映射空间填充曲线(例如希尔伯特曲线和皮亚诺曲线)和数值的库。
    • hyperloglog : HyperLogLog 的go语言实现
    • iter : C++ STL迭代器和算法的Go实现。
    • levenshtein : 编辑距离(levenshtein distance)和相似性度量计算库
    • levenshtein : 在Go中计算levenshtein距离的实现。
    • mafsa : Go 语言实现的 MA-FSA ,包含最小完美哈希实现
    • merkletree : 实现了梅克尔树,提供了一种高效、安全的数据结构内容验证方法
    • mspm : 用于信息检索的多字符串模式匹配算法。
    • nan : 在一个库中实现了零分配的Nullable结构,并提供了方便的转换函数。
    • null : 可为nullGo类型,它们可以被`marshalled/unmarshalled到JSON。
    • parsefields : - 用于解析JSON类日志的工具,用于收集特殊字段和特定事件。
    • pipeline : 一个带有扇形输入和扇形输出的管道的实现。
    • ptrie : 前缀树的实现
    • remember-go : 用于缓存慢速数据库查询的通用接口(由redis、memcached、ristretto或内存支持)。
    • ring : 高性能、线程安全的 bloom 过滤器的 Go 实现。
    • roaring : 实现了压缩bitsets算法的Go语言库
    • set : 在 Go 中使用 LinkedHashMap 实现简单的集合数据结构。
    • skiplist : 非常快的Go Skipipllist实现。
    • skiplist : 在 Go 中实现的 Skiplist
    • slices : slice操作函数
    • timedmap : 具有过期键值对的map
    • treap : 使用树堆的持久化快速有序map
    • trie : Go语言实现的Trie
    • ttlcache : 基于过期时间的内存字符串缓存接口。
    • typ : 空类型安全的基础类型转换器和从复杂结构中取值的开发库。
    • willf/bloom : 实现了布隆过滤器的库

    数据库

    go语言实现的数据库

    • badger : Go中的快速键值存储库。
    • bbolt : Go的嵌入式键值数据库。
    • bcache : 最终一致的分布式内存缓存Go库。
    • BigCache : 为GB量级数据设计的高效键/值缓存
    • Bitcask : Bitcask 是一个用纯 Go 编写的可嵌入的、持久的、快速的键值(KV)数据库,由于采用了 bitcask 盘上布局(LSM+WAL),它具有可预测的读/写性能、低延迟和高吞吐量。
    • buntdb : 快速,可嵌入的,内存键值数据库,可定义索引及 spatial
    • cache : 内存中的key:value存储,有过期时间,0依赖,<100 LoC,100%覆盖。
    • cache2go : 基于内存存储的键值缓存,支持自动基于超时的自动失效
    • clusteredBigCache : BigCache支持集群和单个项目过期。
    • cockroach : 可扩展的、一致的事务型数据库
    • Coffer : 简单的ACID键值数据库,支持事务。
    • couchcache : RESTful 缓存微服务,基于Couchbase数据库
    • CovenantSQL : CovenantSQL是一个区块链上的SQL数据库。
    • Databunker : 为符合GDPRCCPA而构建的个人身份信息PII存储服务。
    • dgraph : 可扩展的、分布式的、低延时、高吞吐的图数据库
    • diskv : 具有 disk-backed 功能的持久化键值存储
    • eliasdb : 无依赖、事物型图数据库,支持 REST API、短语搜索以及类 SQL 的查询语言
    • fastcache : 针对大量条目的快速线程安全内存缓存。将GC开销降到最低。
    • GCache : 支持缓存过期、 LFU、 LRU ARC 的缓存库
    • go-cache : 基于内存存储的缓存,适用于分布式部署的应用
    • goleveldb : GoLevelDB键/值数据库的实现
    • groupcache : Groupcache是一个缓存及缓存填充库,在很多情况下用于替代 memcached.
    • immudb : immudb 是一个轻量级、高速的不可变数据库,适用于用Go编写的系统和应用程序。
    • influxdb : 用于度量、事件和实时分析的可扩展数据存储。
    • Kivik : KivikCouchDB、PouchDB和类似的数据库提供了一个通用的GoGopherJS客户端库。
    • ledisdb : Ledisdb 是一个高性能 NoSQL 数据库,类似 Redis
    • levigo : LeviGoLevelDBGo 语言封装
    • moss : Moss 是一个简单的 LSM 键值存储引擎,100% Go 语言实现
    • nutsdb : Nutsdb是一个用纯Go编写的简单、快速、可嵌入、持久化的键/值存储。它支持完全可序列化的事务和许多数据结构,如列表、集合、排序集合。
    • piladb : 轻量级 RESTful 数据库引擎,基于堆栈结构
    • pogreb : 嵌入式键值存储,适用于重读工作负载。
    • prometheus : 监控系统及时间序列数据库
    • pudge : 使用 Go 的标准库编写的快速、简单的键值存储。
    • rosedb : 一个基于 LSM+WAL 的内嵌 k-v数据库,支持多种数据结构,如字符串、列表、哈希表、集合、有序集合
    • rqlite : 基于 SQLite 的轻量级的、分布式的关系型数据库
    • Scribble : 小巧的 JSON 文件存储
    • slowpoke : 具有持久性的键值存储。
    • tempdb : 临时数据的键值对存储
    • tidb : TiDB 是一个分布式的 SQL 数据库。受到了 Google F1的启发
    • tiedot : 基于Go语言的 NoSQL 数据库
    • unitdb : 用于物联网、实时消息应用的快速时序数据库。
    • Vasto : 一个分布式高性能键值存储。在磁盘上。最终一致。HA。能够在不中断服务的情况下增长或收缩。
    • VictoriaMetrics : 快速、资源高效、可扩展的开源时间序列数据库。可作为Prometheus的长期远程存储。支持PromQL

    数据库迁移工具

    • avro : 发现SQL模式并将其转换为AVRO模式。查询SQL记录到AVRO字节。
    • darwin : 数据库模式增量库
    • go-fixtures : 类似 DjanGo fixtures,用于 Golang 的內建dababase/sql
    • go-pg-migrations : 帮助使用 go-pg/pg 编写迁移的 Go 包。
    • gondolier : 使用struct装饰器的数据库迁移库。
    • goose : 数据库迁移工具。你可以通过编写增量 SQL Go 语言脚本来管理你的数据库
    • gormigrate : 数据库模式迁移帮助工具,用于 Gorm ORM.
    • migrate : 数据库迁移。命令行及 Go 语言库
    • migrator : 简单的Go数据库迁移库。
    • pravasan : 简单的迁移工具,目前支持 MySQL 但是近期打算支持 Postgres, SQLite, MonGoDB 等等
    • schema : 在你的Go二进制文件中嵌入数据库/sql兼容数据库的模式迁移库。
    • skeema : MySQL的纯SQL模式管理系统,支持sharding和外部在线模式变更工具
    • soda : 数据库迁移、创建、 ORM等等,用于MySQL, PostgreSQL,以及 SQLite.
    • sql-migrate : 数据库迁移工具,允许利用 Go-bindata 将数据库迁移嵌入应用程序

    数据库工具

    • bucket : 为Couchbase优化的数据结构框架,专门针对bucket的使用进行了优化。
    • chproxy : HTTP代理的ClickHouse数据库。
    • clickhouse-bulk : 收集小的插入请求后一并发送大的请求到ClickHouse服务器。
    • datagen : 快速的数据生成器,支持多表并支持多行DML
    • dbbench : 数据库基准测试工具,支持多个数据库和脚本。
    • go-mysql : 用于处理 MySQL 协议及复制的Go语言工具集
    • go-mysql-elasticsearch : 将你的 MySQL 数据自动同步到 Elasticsearch
    • kingshard : kingshard是一个Go语言编写的高性能 MySQL 数据库代理
    • myreplication : MySql 二进制 log 复制监听器,支持基于语句和基于行的复制
    • octillery : 用于sharding数据库的Go包(支持所有ORM或原始SQL)。
    • orchestrator : MySQL复制拓扑管理器及可视化工具
    • pg_timetable : PostgreSQL 的高级调度。
    • pgweb : 基于 WebPostgreSQL 数据库浏览工具
    • prep : 无需更改代码使用已准备好的 SQL 语句的库
    • pREST : 为 PostgreSQL 数据库提供 RESTful API
    • rwdb : rwdb为多个数据库服务器的设置提供读取复制功能。
    • vitess : vitess 提供了能够使大型 web 服务 MySQL 数据库的扩展变得更加容易的服务器及工具

    SQL 查询语句构建库

    • buildsqlx : 针对PostgreSQLGo数据库查询构建库。
    • dbq : Go的数据库操作库。
    • Dotsql : Go语言库,帮助你将 sql 文件保存在一个地方并且方便的取用
    • gendry : 非侵入式SQL构建器和强大的数据绑定器。
    • godbal : Go的数据库抽象层(dbal)。支持SQL构建器,并能轻松获得数据库结果。
    • goqu : 地道的 SQL 语句创建器和查询库
    • gosql : 具有更好的空值支持的SQL查询生成器。
    • igor : PostgreSQL 的抽象层,支持高级功能以及类 Gorm 的语法
    • jet : 在Go中编写类型安全的SQL查询框架,能够轻松地将数据库查询结果转换为所需的任意对象结构。
    • mpath : 用于 SQL 记录的 MPTT (Modified Preorder Tree Traversal) 包 - 实物化路径的实现
    • ormlite : 轻量级软件包,包含一些类似于ORM的功能,以及针对sqlite数据库的帮助程序。
    • ozzo-dbx : 强大的数据检索方法以及与DB无关的查询构建能力。
    • qry : 从带有原始SQL查询的文件中生成常量的工具。
    • sq : 适用于Go的类型安全SQL构建器和结构映射器。
    • sqlf : 快速的SQL查询构建器。
    • sqlingo : 在 Go 中构建 SQL 的轻量级 DSL
    • sqrl : SQL 查询创建器,是 Squirrel 的一个分叉版本,进行了性能方面的优化
    • Squalus : Go SQL包的薄层,使其更容易执行查询。
    • Squirrel : 一个帮助你构建 SQL 查询的库
    • xo : 基于已知的数据库表或自定义查询生成地道的Go语言代码,支持 PostgreSQL, MySQL, SQLite, Oracle, 以及 Microsoft SQL Server.

    数据库驱动

    连接和操作数据库工具

    • 关系型数据库
      • avaticaApache Phoenix/Avatica SQL 驱动
      • bgc : 数据库连接工具包,用于通过 Go 语言访问 BigQuery
      • firebirdsql : Firebird RDBMS SQL 驱动
      • go-adodb : Microsoft ActiveX 对象数据库驱动
      • go-mssqldb : 适用于Go的Microsoft MSSQL驱动。
      • go-oci8 : Oracle驱动
      • go-sql-driver/mysql : Go 语言 MySQL驱动
      • go-sqlite3 : Go 语言的 SQLite3 驱动
      • gofreetds : Microsoft MSSQL 驱动。 FreeTDS的go语言封装
      • FreeTDS : Microsoft MSSQL驱动。是FreeTDS的Go封装器。
      • goracle : 用于 Go Oracle 驱动程序,使用 ODPI-C 驱动程序。
      • pgx : PostgreSQL 驱动,支持比 database/sql 更多的特性
      • pq : 用于database/sqlPure Go Postgres驱动。
      • Sqinn-Go : 纯Go的SQLite驱动。

    • NoSQL数据库
      • aerospike-client-go : Go语言的Aerospike客户端。
      • arangolite : ArangoDB的轻量级golang驱动
      • asc : 用于Aerospike for go的数据存储连接。
      • dynago : DynagoDynamoDB 的客户端。
      • forestdb : ForestDBGo语言封装
      • go-couchbase :Go语言Couchbase客户端
      • go-pilosa : 用于Pilosa的Go客户端库。
      • go-rejson : RedislabsReJSON 模块的 Golang 客户端,使用 Redigo golang 客户端。在redis中轻松地将结构体作为JSON对象进行存储和操作。
      • gocb : Couchbase Go官方SDK。
      • gocql : Apache Cassandra 的 Go 语言驱动
      • godis : 由 golang 实现的 redis 客户端,灵感来自 jedis
      • godscache : Google Cloud Platform Go Datastore包的封装器,使用memcached增加缓存。
      • gomemcache : Go编程语言的memcache客户端库。
      • gorethink : RethinkDB的Go语言驱动。
      • goriak : Riak KVGo 语言驱动
      • mgm : 用于 Go 的基于 MongoDB 模型的 ODM(基于官方 MongoDB 驱动程序)
      • mgo : MonGoDB 驱动,通过简单的 API 现了丰富的、经过测试的特性,这些 API 遵循 Go 语言的习惯
      • mongo-go-driver : Go语言的官方MongoDB驱动。
      • neo4j : Neo4j Rest APIGo 语言接口
      • Neo4j-GO : Go 语言实现的 Neo4j REST 客户端
      • neoism : Go 语言 Neo4j 客户端
      • qmgo : Go的MongoDB驱动。它基于官方的MongoDB驱动,但和Mgo一样更容易使用。
      • redeo : RedigoRedis数据库的Go客户端。
      • redigo : RediGoRedis 数据库的Go 语言客户端.
      • redis : 兼容Redis协议的 TCP 服务器/服务.
      • xredis : 类型安全的、可定制的、简洁易用的 Redis 客户端

    • 搜索引擎和文本数据库
      • bleve : 现代文本索引库
      • elastic : Go 语言的 Elasticsearch 客户端
      • elasticsql sql 转换为 elasticsearch dsl
      • elastigo : Elasticsearch客户端库
      • go-elasticsearch : Go的官方Elasticsearch客户端。
      • goes : 用于和 Elasticsearch 交互的库
      • riot : Go开源,分布式,简单高效的搜索引擎。
      • skizze : 概率数据结构服务和存储。
    • 多个后端:
      • cachego : Golang Cache组件,支持多个驱动。
      • cayley : 支持多个后端的图形数据库。
      • dsc : SQL、NoSQL、结构化文件的数据存储连接。
      • gokv : 为go(Redis、Consul、etcd、bbolt、BadgerDB、LevelDB、Memcached、DynamoDB、S3、PostgreSQL、MongoDB、CockroachDB等)提供简单的键值存储抽象和实现。

    日期和时间

    用于处理日期和时间的库

    • carbon : 简单的时间扩展程序,有很多有用的方法,是PHP Carbon库的接口
    • cronrange : 解析Cron风格的时间范围表达式,检查给定时间是否在任何范围内。
    • date : 增强了Time的功能,用于处理日期、日期范围、时间跨度、时间段和日期时间。
    • dateparse : 在不知道格式的情况下解析日期。
    • durafmt : 持续时间格式化
    • feiertage : 一组计算德国公共假期的函数,比如复活节、感恩节等
    • go-persian-calendar : - 太阳历
    • go-str2duration : 将字符串转换为持续时间。支持time.Duration返回字符串等。
    • go-sunrise : 计算指定地点的日出和日落时间。
    • go-week : 处理星期的库
    • iso8601 : 有效地解析ISO8601日期时间,而无需使用regex
    • kair : 日期和时间 - Golang 格式化库。
    • now : Now 是一个 Go 语言的时间工具集
    • NullTime : -时间可以是 NULL 的库
    • strftime : C99兼容的strftime格式化器。
    • timespan : 用于与时间间隔交互,定义为开始时间和持续时间
    • timeutil : 为 Go 语言时间包扩展了有用的功能,例如时间间隔和格式化
    • tuesday : Ruby兼容的Strftime函数。

    分布式系统

    • arpc : 更有效的网络通信,支持双向呼叫、通知、广播。
    • celeriac : 利用 Go 语言对Celery workerß任务事件进行交互和监控的库
    • consistent : 有限负载的一致哈希算法库。
    • consistenthash : 使用可配置的副本实现一致的哈希。
    • dht : BitTorrent Kademlia DHT的实现。
    • digota grpc电子商务微服务。
    • dot : 使用操作转换/OT的分布式同步库。
    • doublejump : 改版后的Google的跳转一致哈希。
    • dragonboat : Go中一个功能完整且高性能的多组Raft库。
    • drmaa : 集群调度工具的任务提交库,基于标准 DRMAA
    • dynamolock : DynamoDB支持的分布式锁的实现。
    • dynatomic : 将 DynamoDB 作为原子计数器使用的库。
    • emitter-io : 使用 MQTT、Websocketslove 构建的高性能、分布式、安全和低延迟的发布-订阅平台。
    • flowgraph : 基于流的编程包实现的MPI 风格的读取,发送协同层;
    • gleam : 快速、可扩展的分布式 map/reduce 系统,使用纯 Go 语言和 Luajit 编写,融合了 Go 语言的高并发能力和 Luajit 的高性能,可以独立或分布式部署运行。
    • glow : 易于使用的可扩展的分布式大数据处理、Map-Reduce、DAG执行,全部用纯Go编写。
    • gmsec : Go分布式系统开发框架。
    • go-health : 用于在服务中启用异步依赖性健康检查的库。
    • go-jump : Google "Jump" 一致性哈希函数的接口
    • go-kit : 为服务工具吧,支持服务发现、负载均衡 、可插拔传输以及请求追踪等
    • go-micro : 一个分布式系统开发框架。
    • go-mysql-lock : 基于MySQL的分布式锁。
    • go-pdu : 基于身份的去中心化社交网络。
    • go-sundheit : 为 golang 服务定义异步服务健康检查提供支持的库。
    • gorpc : 简单、快速、可扩展的RPC 库,针对高负载场景
    • grpc-go : gRPC的Go语言实现。基于HTTP/2的RPC
    • hprose : 非常新颖的RPC库,现在支持25种以上的语言。
    • jsonrpc : jsonrpc 包实现了 JSON-RPC 2.0.
    • jsonrpc : JSON-RPC 2.0 HTTP 客户端实现
    • KrakenD : 带有中间件的,高性能API网关框架
    • liftbridge : 用于NATS的轻量级、容错消息流。
    • micro : 面向云计算及其他领域的分布式系统运行时。
    • NATS : 轻量级、高性能微服务系统,用于微服务、物联网以及云
    • outboxer : Outboxer是一个实现outbox模式的go库。
    • pglock : PostgreSQL支持的分布式锁的实现。
    • raft : Raft 共识协议的 Golang 实现,由 HashiCorp.开发。
    • raft : Raft共识协议的 Go 实现,由 CoreOS 提供。
    • rain : BitTorrent客户端和库。
    • redis-lock : 使用Redis实现的简化的分布式锁。
    • resgate : 用于构建 REST、实时和 RPC API 的实时 API 网关,所有客户端都可以无缝同步
    • ringpop-go : 为Go应用提供可扩展、容错的应用层分片。
    • rpcx : rpcx是一个类似阿里巴巴 Dubbo 和微博 Motan 的分布式的RPC服务框架
    • Semaphore : 直接的(微)服务协调器。
    • sleuth : 在 HTTP 服务之间进行无主 p2p 自动发现和 RPC通信(使用 ZeroMQ
    • tendermint : 使用Tendermint 一致性及区块链协议的高性能的中间件,用于将任何语言编写的状态机转换为一个拜占庭容错状态机,
    • torrent : BitTorrent 客户端

    动态DNS

    更新动态dns记录的库和工具

    • DDNS : 以digital ocean DNS为后台的个人DDNS客户端。
    • dyndns : 后台Go进程,定期自动检查您的IP地址,并在您的地址发生变化时更新(一个或多个)谷歌域名的动态DNS记录。
    • GoDNS : 用Go编写的动态DNS客户端工具,支持DNSPodHE.net

    邮件库

    邮件管理和发送的go语言库

    • chasquid : 用Go编写的SMTP服务器。
    • douceur : HTML 邮件中的内联 CSS
    • email : 健壮的、灵活的 email
    • go-dkim : DKIM 库,用于对 email 进行签名和验证
    • go-imap : IMAP 库,用于客户端和服务器
    • go-message : 用于互联网消息格式和邮件的库
    • go-premailer : 在Go中为HTML邮件提供在线样式。
    • go-simple-mail : go语言实现的基于简单smtp协议的邮件发送库
    • Hectane : 轻量级 SMTP 客户端,提供 HTTP API
    • hermes : 一个用于生成干净、响应式 HTML e-mail 的包
    • mailchain : 用go写的用于发送加密邮件到区块链地址的邮件库
    • mailgun-go : 使用Mailgun API发送邮件的Go库。
    • MailHog : EmailSMTP 测试工具,具有 web 及 API 接口
    • SendGrid : SendGrid的 Go 语言库,用于发送电子邮件
    • smtp : SMTP 服务器协议状态机

    脚本语言与嵌入式编程

    在你的go代码中嵌入其他脚本语言

    • anko : Go 语言编写的解释器
    • binder : 基于gopher-lua的go语言Lua 接口,
    • cel-go : 快速、可移植、非图灵完全表达式评估和渐进分型。
    • expr : Go 的表达式评估引擎,具有快速、非图灵完备、动态类型化、静态类型化的特性。
    • gentee : 可嵌入脚本编程语言。
    • gisp : Go中的简单LISP
    • go-duktape : GoDuktape JavaScript引擎封装。
    • go-lua : Lua 5.2虚拟机的纯 Go 语言接口
    • go-php : PHP Go 语言接口
    • go-python : CPython C-API Go 语言接口
    • goja : 在 Go 中实现 ECMAScript 5.1(+)
    • golua : lua C APIGo 语言接口。
    • gopher-lua : Go 语言编写的 Lua 5.1 虚拟机和编译器
    • gval : Go编写的高度可定制的表达式语言。
    • ngaro : 可嵌入的Ngaro虚拟机实现,可在Retro中编写脚本。
    • purl : 嵌入 Go 语言的 Perl 5.18.2
    • tengo : Go的字节码编译脚本语言。

    错误处理

    go 语言错误处理库

    • emperror : Go库和应用程序的错误处理工具和最佳实践。
    • eris : 在Go中处理、跟踪和记录错误的更好方法。与标准错误库和github.com/pkg/errors兼容。
    • errlog : 用于确定错误的责任源代码(以及其他一些快速调试功能,可以嵌入到任何的日志服务中。
    • errors : 标准库错误包和 github.com/pkg/errors 的替代包。提供各种错误处理单元。
    • errors : 提供简单错误处理单元的包。
    • errors : 简单的 golang 错误处理包。
    • errors : 最简单的错误封装器,性能卓越,内存开销最小。
    • errors : 最小的错误处理包,具有自定义错误类型等特性
    • errorx : 功能丰富的错误处理包,包括堆栈信息获取、错误组成分析等
    • Falcon : 简单但功能强大的错误处理包。
    • go-multierror : 用于将错误列表表示为单个错误的包
    • tracerr : 带有堆栈跟踪和源片段的Golang错误处理包。

    文件处理

    处理文件和文件系统操作的库

    • afero : go语言编写的对文件系统进行抽象的系统框架
    • afs : 适用于 Go 的抽象文件存储。
    • baraka : 用于轻松处理 http 文件上传的库。
    • bigfile : 文件传输系统,支持用http api、rpc调用和ftp客户端管理文件。
    • checksum : 计算大文件的信息摘要,如MD5SHA256
    • copy : 递归复制目录。
    • flop : 文件操作库,目的是与 GNU cp进行镜像。
    • go-csv-tag : 使用 tag 导入 csv
    • go-decent-copy : 文件复制功能库。
    • go-exiftool : 为ExifTool提供绑定服务,ExifTool是一个著名的库,用于从文件(图片、PDF、office…)中提取尽可能多的元数据
    • go-gtfs : 用go加载gtfs文件
    • gut/yos : 简单可靠的文件操作包,支持对文件、目录和符号链接的copy/move/diff/list
    • notify : 类似 os/signal的文件系统提示库,具有简单的 API.
    • opc : 为Go加载Open Packaging Conventions (OPC)文件
    • parquet : 读取和写入parquet 文件。
    • pdfcpu : PDF 处理器。
    • skywalker : 允许你简单方便的并发浏览文件系统
    • stl : 读取和写入STL文件的模块,采取并发的读取算法。
    • tarfs : 为 tar 文件实现的文件系统接口
    • todotxt todo.txt文件的go语言解析器。
    • vfs : 适用于 Go 的多个文件系统类型,如 os、S3 GCS的可插拔、可扩展的文件系统功能库。

    金融领域相关库

    处理货币与金融领域的库

    • accounting : Go语言金钱及货币格式
    • currency : 处理货币金额,提供货币信息和格式。
    • currency : 高性能、精确的货币计算包。
    • decimal : 支持任意精度的十进制数的go包
    • fastme : Go实现的 快速可扩展的匹配引擎 。
    • go-finance : Go中的综合金融市场数据。
    • go-finance : 用于货币时间价值(年金)、现金流、利率转换、债券和折旧计算的金融函数库。
    • go-finance : 用于获取汇率、通过VIES查询增值税号和查询IBAN银行账号的模块。
    • go-finnhub : 来自finnhub.io的股市、外汇和加密数据客户端。访问来自60多家证券交易所、10家外汇经纪商和15家以上加密交易所的实时金融市场数据。
    • go-money : Fowler's Money模式的实现。
    • ofxgo : 查询 OFX 服务器并解析其响应 (有一个示例的命令行客户端)
    • orderbook : Golang中的限价订单簿的匹配引擎。
    • techan : 具有高级市场分析和交易策略的技术分析库。
    • transaction : 以多线程模式运行的嵌入式的账户交易数据库,。
    • vat : VAT 验证及欧洲增值税率工具

    表单

    表单解析与绑定

    • bind : 可以表单数据绑定到任意的 Go 变量上
    • binding : 将来自net/HTTP请求的表单、JSON 数据绑定到结构体
    • conform : 检查用户输入并基于结构标签来清理数据
    • form : 解码 url 中的数据到 Go 语言变量中以及将 Go 语言变量编码进 url
    • formam : 将表单数据解码到结构体
    • forms : 框架无关的表单/JSON数据解析验证库,支持多部分表单及文件
    • gorilla/csrf : 为 Go 语言 web 应用提供 CSRF 防御
    • nosurf : CSRF 防御中间件
    • qs : 用于将结构体编码为 URL 查询参数的 Go 模块
    • queryparam : 将url.Values解码为标准或自定义类型的可用结构体值。

    函数式编程

    • fpGo : Golang中的单项式函数式编程功能
    • fuego : Go中实验室的函数式编程。
    • go-underscore : Go函数式集合工具。

    游戏开发

    • Azul3D : Go 语言编写的 3D 游戏引擎
    • Ebiten : Go 语言编写的简单的 2D 游戏库
    • engo : EnGo是一个开源的2D游戏引擎,遵循实体-组件-系统范式
    • g3n : Go 3D游戏引擎。
    • go-astar : A*路径查找算法的Go实现。
    • go-sdl2 : Simple DirectMedia LayerGo封装。
    • go3d : 专注性能的 2D/3D 数学库
    • gonet : Go 语言实现的游戏服务器框架
    • goworld : 可扩展的游戏服务器引擎。
    • Leaf : 轻量级游戏服务器框架
    • nano : 基于golang的轻量级、设施、高性能的游戏服务器框架。
    • Oak : go游戏引擎。
    • Pitaya : 可扩展的游戏服务器框架,支持集群,并通过C SDKiOS、Android、Unity等提供客户端库。
    • Pixel :2D 游戏引擎库
    • prototype : 跨平台(Windows/Linux/Mac)库,可利用最小的API创建桌面游戏。
    • raylib-go : raylib的 Go 语言接口,简单、易用的用于学习游戏编程的库
    • raylib : raylib的Go绑定,一个简单易用的电子游戏编程学习库。
    • termloop : 终端游戏引擎,基于 Termbox
    • tile : 面向数据和缓存友好的 2D 网格库 (TileMap)。

    代码生成与泛型

    • efaceconv : 代码生成工具,用于高效的将 interface{} 转换为不可变类型,并且不需要进行任何内存分配
    • gen : 代码生成工具,用于提供类似泛型的功能
    • generis : 提供泛型、自由形式宏、条件编译和 HTML 模板化的代码生成工具。
    • go-enum : 从代码注释中生成enums代码。
    • go-linq : 类似.NET LINQGo查询方法。
    • go-xray : 使反射的使用更加简单的助手。
    • goderive : 从输入类型导出函数。
    • gotype : Golang 源代码解析,用法类似于 reflect 包。
    • GoWrap : 使用简单的模板为 Go 接口生成装饰器。
    • interfaces : 命令行工具,用于生成接口定义
    • jennifer : 不适用模板生成任意 Go 语言代码
    • pkgreflect : 用于包作用域反射的 Go 语言预处理器
    • typeregistry : 用于动态创建类型的库。

    位置信息与地理GEO处理库

    • geocache : 内存缓存,适用于基于地理位置的应用。
    • geoserver : 用于通过GeoServer REST API操纵GeoServer实例的Go包。
    • gismanager : 将你的GIS数据(矢量数据)发布到PostGISGeoserver的库。
    • mbtileserver : 简单的基于Go的服务器,用于存储mbtiles格式的地理信息。
    • osm : 用于读取、写入和处理OpenStreetMap数据和API的库。
    • pbf : OpenStreetMap PBF golang编码器/解码器。
    • S2 geojson : 将geojson转换为S2单元格,并在地图上演示一些S2几何特征。
    • S2 geometry : Go中的S2几何库。
    • Tile38 : 具有空间索引和实时地理围栏的地理位置数据库。
    • WGS84 : 坐标转换和变换的库(ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)。
    • c4go : 将C代码转换为go代码。
    • f4go : 将FORTRAN 77代码转为 Go 代码。
    • gopherjs : 把 Go 编译为 JavaScript.
    • llgo : 基于 LLVM Go 语言编译器
    • tardisgo : Golang转换为 Haxe 进而转换为 CPP/CSharp/Java/JavaScript 的编译器.

    Goroutines

    goroutines的管理和使用

    • ants : 高性能和低消耗的goroutine池。
    • artifex : Golang 的简单内存作业队列,使用基于worker的调度策略。
    • async : Go 的另一个同步库(Future, Promise, Locks)。
    • async : 安全的异步函数执行的方式,支持在出现pannic的情况下恢复它们。
    • breaker : 采用了一种可以使执行流可中断的灵活的机制的包。
    • channelify : 将你的函数转化为返回管道,以实现简单而强大的并行处理。
    • conexec : 一个并发工具包,帮助你以一种高效和安全的方式并发执行函数。它支持指定整体超时以避免阻塞,并使用goroutine池来提高效率。
    • cyclicbarrier : - golangCyclicBarrier
    • go-floc : 轻松编排 Go 语言协程
    • go-flow : 控制Go语言协程的执行顺序
    • go-tools/multithreading : 使用这个轻量级的库和简单的API来管理 goroutine 池。
    • go-trylock : 支持 Golang 的读写锁的 TryLock.
    • go-waitgroup : - 类似 sync.WaitGroup 的错误处理和并发控制。
    • goccm : Go 并发管理包,限制了允许并发运行的 goroutine 的数量
    • gohive : 高性能且易于使用的goroutine池。
    • gollback : 异步简单函数工具,用于管理闭包和回调的执行
    • goworker : Goworker 是一个基于 Go 语言的后台worker
    • gowp : - gowp 是限制并发量的goroutine池。
    • gpool : 管理一个可调整大小的上下文感知的goroutine池,并以这种方式来约束并发量。
    • grpool : 轻量级Goroutine池。
    • hands : 用于控制多个goroutine的执行和返回策略的进程控制器。
    • Hunch : Hunch提供的功能有。All、First、Retry、Waterfall等功能,让异步流控制更加直观。
    • kyoo : 提供了一个无限的作业队列和并发的工作池。
    • neilotoole/errgroup : sync/errgroup的替代方案,限于N个worker goroutine池。
    • nursery : Go中的结构化并发
    • oversight : versight Erlang 监督树的完整实现。
    • parallel-fn : 并行执行函数。
    • pond : 在 Go 中编写的最小化和高性能的 goroutine 工作池。
    • pool : 便于goroutine处理和取消的有限的消费者goroutine池或无限的goroutine池,
    • queue : 类似于sync.WaitGroup的队列包。帮助你控制和等待goroutine的执行,比如等待所有goroutine的结束等等。
    • routine : 利用contextgo routine实现。
    • semaphore : 基于管道和上下文的加锁/解锁操作。
    • semaphore : 基于CAS的快速可调整大小的semaphore实现(比基于管道的semaphore实现更快)。
    • stl : 基于软件事务性内存(STM)并发控制机制的软件事务性锁。
    • threadpoolGolang线程池的实现。
    • tunny : Go 语言协程池
    • worker-pool : Go简单的异步worker池。
    • workerpool : 用于限制任务执行的并发性的goroutine缓冲池。

    GUI

    • app : 使用Go, HTMLCSS 进行应用程序开发的库, 支持 MacOS, Windows
    • fyne : 基于Material DesignGo设计的跨平台本地GUI。支持 Linux, macOS, Windows, BSD, iOS` 和 Android.
    • go-astilectron : 使用GOHTML/JS/CSS(由Electron提供支持)构建跨平台GUI应用程序
    • go-gtk : GTKGo绑定。
    • go-sciter : Sciter Go 语言接口,支持现代 GUI 程序开发的、嵌入式 HTML/CSS/脚本引擎。具有跨平台特性。
    • gotk3 : GTK3的Go语言接口
    • gowd : 使用Go, HTML, CSS NW.js 语言进行快速、简单的桌面UI开发。具有跨平台特性
    • qt : QtGo语言接口 (支持 Windows,macOS,Linux,Android,iOS,Sailfish OS, Raspberry Pi)
    • ui : 跨平台的原生 GUI 库
    • Wails : 使用内置的 HTML 渲染器。
    • walk : windows 应用程序开发工具包
    • webview : 支持双向JavaScript绑定的跨平台 webview 窗口库(Windows,macOS,Linux)。
    • go-appindicator : libappindicator3 C库的Go绑定。
    • gosx-notifier : OSX 桌面提醒库
    • mac-activity-tracker : OSX 库,用于通知机器上的任何(可插拔)活动。
    • mac-sleep-notifier : - golang中的OSX睡眠/唤醒通知库。
    • robotgo : 跨平台GUI自动化工具,可以控制鼠标、键盘及其他设备
    • systray : 跨平台的 Go 语言库,用于在桌面提醒区域放置按钮及菜单
    • trayhost : 跨平台的 Go 语言库,用于在主机系统任务条区域放置按钮及菜单

    硬件

    与硬件交互的库、工具


    Images 图像处理

    • bild : 汇集了使用 Go 语言编写的图像处理算法
    • bimg : 利用libvips进行快速高效的图像处理
    • cameron : Go的头像生成器。
    • canvas : 将矢量图形转换成 PDF、SVG 或光栅化图像。
    • darkroom : 图像代理,具有可更改的存储后端和图像处理引擎,注重速度和弹性。
    • draft : 使用简单的YAML语法为GraphViz生成高级微服务架构图。
    • geopattern : 从字符串创建优美的图样
    • gg : 使用Go编写的 2D 渲染程序
    • gift : 图像处理过滤器包
    • gltf : 高效且强大的glTF 2.0读取器、写入器和验证器。
    • go-cairo : cairo 图形库的 Go 语言接口
    • go-gd : GD 库的 Go 语言接口
    • go-nude : 使用 Go 语言进行裸替检测
    • go-opencv : OpenCVGo 语言接口
    • go-webcolors : webcolors 库的Go语言接口
    • gocv : 使用 OpenCV 3.3+ 的计算机视觉的 Go 包。
    • goimagehash : Go感知图像哈希包。
    • goimghdr : imghdr 模块为 Go 确定文件中包含的图像类型。
    • govatar : 用于生成有趣头像的库和命令行工具。
    • gridder : 基于网格的2D图形库。
    • image2ascii : 将图像转换为ASCII码。
    • imagick : ImageMagick MagickWand C 语言 APIGo 语言接口
    • imaginary : 快速且简单的 HTTP 微服务,用于图像缩放
    • imaging : 简单的Go图像处理包。
    • img : 图像操作工具精选集
    • ln : 3D 图线艺术渲染
    • mergi : 用于图像处理的工具和 Go 库(合并、裁剪、调整大小、水印、动画)。
    • mort : 用Go编写的存储和图像处理服务器。
    • mpo : MPO 3D 照片解码与转换工具.
    • picfit : 一个使用 Go 语言编写的图片缩放服务器
    • pt : 光线追踪引擎
    • resize : 使用 Go语言编写的具有常见差值功能的图片缩放工具
    • rez : 纯 GoSIMD实现的图像缩放库
    • 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 日志的本地日志APIGo 实现。
    • kemba : 受debug 启发的小型调试日志工具,非常适合CLI工具和应用程序。
    • log : O(1)复杂度的日志系统,允许你将一个日志连接到多个输出(例如 stdout、文件和一个 TCP 连接)。
    • log : Go的结构化日志包。
    • log : 简单、可配置、可扩展的Go结构化日志库。
    • log : 结构化日志接口。
    • log-voyage :用golang编写的全功能日志库。
    • log15 : 简单、强大的Go日志记录。
    • logdump : 用于多级日志记录的软件包。
    • logex : Golang日志库,支持跟踪和级别,由标准日志库封装。
    • logger : 日志库。
    • logmatic : Golang的彩色日志记录器,具有动态日志级别配置功能。
    • logo : Golang的日志记录库,可配置不同的写入器。
    • logrusiowriter : 使用 logrus loggerio.Writer 实现。
    • logrus : Go的结构化日志记录器。
    • logrusly : logrus插件,用于将错误发送到Loggly
    • logur : 日志记录接口和日志记录最佳实践的整合,它对诸多知名库如logrusgo-kit logzapzerolog等的功能进行了集成
    • logutils : 对 Go 语言标准日志工具进行了扩展,使其更好用
    • logxi : 十二要素 app 日志工具,非常快速。
    • lumberjack : 简单的循环日志工具。
    • mlog : 简单的日志模块,可以分5级并有一个可选的循环日志文件记录功能,支持 stdout/stderr 输出.
    • onelog : Onelog是一个简单但非常高效的JSON日志库。它是目前所有场景下最快的JSON日志器。同时,它也是所需最少内存分配的库。
    • ozzo-log : 高性能日志库,支持日志分级、分类及过滤。可以将过滤后的信息发送到不同的目的地(例如: 控制台、网络、邮箱).
    • phuslu/log : - 结构化日志系统。
    • rollingwriter : RollingWriter是一个具有自动轮转功能的io.Writer实现,它有多种策略来提供日志文件旋转。
    • seelog : 灵活的、解耦的、格式化的日志库
    • spew : - 为 Go 语言的数据结构实现了一个整洁的打印功能,有助于调试
    • sqldb-logger : -用于Go SQL数据库驱动的日志记录器,无需修改现有的*sql.DB标准用法。
    • stdlog : Stdlog 是一个面向对象的库,提供了分级日志功能,对于定时任务很有用.
    • tail : 这个 Go 语言软件包力争模拟 BSD tail 的功能
    • xlog : 插件架构以及灵活的日志系统,具有日志等级控制,多日志目标以及自定义日志格式功能
    • xlog : 结构化日志库
    • zap : 快速的、结构化的、分级的日志库
    • zerolog : 零内存分配 的JSON 日志库.

    机器学习

    • bayesian : 贝叶斯分类器
    • CloudForest : 纯 Go 语言编写的快速、灵活、多线程决策树
    • eaopt : 进化优化库。
    • evoli : 遗传算法和粒子群优化库。
    • fonet : 用Go编写的深度神经网络库。
    • go-cluster : k-modesk-prototypes聚类算法的Go实现。
    • go-deep : 用Go编写的功能丰富的神经网络库。
    • go-fann : 快速人工神经网络库(FANN)Go 语言借口.
    • go-galib : Go 语言编写的遗传算法库
    • go-pr : Go语言模式识别库
    • gobrain : 用go语言编写的神经网络。
    • godist : 各种概率分布以及相关方法库。
    • goga : Go 语言遗传算法库
    • GoLearn : Go语言通用机器学习库
    • golinear : liblinear 库的 Go 语言接口
    • GoMind : Go 中的一个简单的神经网络库。
    • goml : 即时go语言机器学习库
    • gonet : Go的神经网络。
    • Goptuna : 用Go编写的黑盒函数的贝叶斯优化框架。一切都将被优化。
    • goRecommend : Go 语言推荐算法库
    • gorgonia : 基于图的计算库,类似于 Theano。提供了一些原型用于构建各种个样的机器学习和神经网络算法
    • gorse : 用Go编写的基于协作过滤的离线推荐系统后台。
    • goscore : 用于 PMMLGo 评分 API
    • gosseract : 用于OCR(光学字符识别)的Go包,使用Tesseract C++库。
    • libsvm : libsvm Go 语言版本,基于 LIBSVM 3.14.
    • neat : 即插即用的并行 Go 语言框架,用于增强拓扑神经网络 (NEAT).
    • neural-go : Go 语言实现的多层感知神经网络,通过反向传播算法进行训练.
    • ocrserver : 简单的OCR API服务器,很容易被DockerHeroku部署。
    • onnx-go : Open Neural Network Exchange (ONNX)Go接口。
    • probab : 概率分布函数。贝叶斯推理。用纯Go编写。
    • randomforest : 简单易用的 Go 随机森林库。
    • regommend : 推荐系统及协同过滤引擎
    • shield : go语言实现的贝叶斯文本分类器,具有灵活的标记器和存储后端。
    • tfgo : 易于使用的Tensorflow `` go语言封装:简化了官方Tensorflow Go的使用。
    • Varis : Golang神经网络。

    消息系统

    • ami : 基于Redis集群可靠队列的Go客户端。
    • APNs2 : go语言实现的基于HTTP/2苹果推送通知提供服务,可以向iOStvOSSafariOSX应用程序发送推送通知
    • Asynq : 建立在 Redis 之上,为 Go 提供的简单、可靠、高效的分布式任务队列,。
    • Beaver : 实时消息服务器,用于在网络和移动应用中构建可扩展的应用内通知、多人游戏、聊天应用。
    • Benthos : 在一系列协议之间建立消息流go代码库
    • Bus : 用于内部通信的简约型消息总线实现。
    • Centrifugo : 实时消息服务器
    • Commander : 一个高级事件驱动库,支持消费者/生产者模式,支持各种消息系统,如Apache Kafka。
    • Confluent Kafka Golang ClientConfluentApache KafkaConfluent Platform开发的Golang客户端。
    • dbus : D-BusGo 语言接口
    • drone-line : 通过软件包,docker 或是 Drone CI来发送 Line 通知
    • emitter : 通过Go语言的方式发送事件消息,可以使用通配符,断言,取消发送等优秀特性。
    • event : 观察者模式的go语言实现
    • EventBus : 轻量级事件库,支持异步
    • gaurun-client : Go 语言编写的 Gaurun 客户端
    • Glue : 健壮的 Go Javascript Socket 库 (可以用来替代 Socket.io).
    • go-mq : 具有声明式配置的RabbitMQ客户端。
    • go-notify : freedesktop通知规范的本地实现
    • go-nsq : NSQ 官方 Go 语言库
    • go-res : 用于构建 REST/实时服务的包,使用 NATSResgate 实现客户端无缝同步。
    • go-socket.ioGo 语言的 socket.io库 ,一个实时应用框架.
    • go-vitotrol : Viessmann Vitotrol 服务的 Go 语言客户端
    • Gollum : 一个 n:m 的多路复用器,从不同的源汇聚消息并向目标进行广播
    • golongpoll : HTTP 长轮询服务器库,让 web 发布与订阅变的更简单.
    • gopush-cluster : Gopush-cluster 是一个Go语言实现的支持集群的comet服务(支持 websockettcp协议)
    • gorush 通知推送服务器,使用 APNs2GCM
    • gosd : 用于调度何时向通道发送消息的库。
    • guble : 使用通知推送(Google Firebase Cloud Messaging, Apple Push Notification services, SMS)、websockets 、REST API 的消息服务器。提供了分布式操作和消息持久化特性
    • hub : 用于 Go 应用程序的消息/事件汇聚,使用发布/订阅模式,支持像 rabbitMQ 的使用模式。
    • jazz : 一个简单的RabbitMQ抽象层,用于队列管理以及消息的发布和消费。
    • machinery : 异步任务队列,基于分布式消息处理
    • mangos : 纯 Go 语言实现的 Nanomsg ("Scalable Protocols")
    • melody : 用于处理websocket会话的简约框架,包括广播和自动ping/pong处理。
    • Mercure : 使用Mercure协议(建立在Server-Sent Events之上)来调度服务器发送的更新的代码库。
    • messagebus : messagebus是一个Go简单的异步消息系统,用于事件源、CQRS、DDD等场景
    • NATS Go Client : 原生的 oplog/replication 系统,用于 REST APIs场景
    • nsq-event-bus : 针对 NSQ 的topicchannel进行了简单的封装
    • oplog : 用于 REST API场景的通用oplog/copy系统。
    • pubsub : 简单的 pubsub 软件包
    • rabbus : amqp交换队列的简易封装。
    • rabtap : - RabbitMQ 瑞士军刀 cli 应用。
    • RapidMQ : RapidMQ是一个轻量级,可靠的本地消息队列管理库
    • redisqueue : redisqueue 提供了一个使用 Redis 流的队列,可以用于生产者和消费者模式。
    • rmqconn : RabbitMQ Reconnection。amqp.Connectionamqp.Dialgo语言封装。允许在连接中断时进行重新连接,然后再强制调用关闭方法。
    • sarama : 用于 Apache Kafka 的库
    • Uniqush-Push : 基于 Redis 的统一推服务,用于服务器端向移动客户端推送消息
    • zmq4 : ZeroMQ version 4GO 语言接口。也有适用于version 3version 2

    Microsoft Office

    • unioffice : 用于创建和处理Office Word (.docx)、Excel (.xlsx)Powerpoint (.pptx)文档的纯go库。

    EXCEL

    • excelize : 用于读写 Microsoft Excel™ (XLSX) 文件的 Golang
    • go-excel : 用于读取类似数据库形式的excel表格。
    • goxlsxwriter : go语言libxlsxwriter封装, 用于编写 XLSX (Microsoft Excel) 文件。
    • xlsx : 用于在 Go 程序中读取最新版 Microsoft Excel的库
    • xlsx : 在Go程序中快速、安全地读取/更新现有 Microsoft Excel 文件的库。

    其他杂项

    依赖性注入

    • alice : Golang 的依赖注入容器
    • container : 功能强大的 IoC 容器,具有流畅且易于使用的界面。
    • di : Go编程语言的依赖注入容器。
    • dig : 基于反射的Go依赖注入工具包。
    • dingo : 基于 GuiceGo 依赖注入工具包。
    • fx : 基于 Go 的依赖注入应用框架(建立在 dig 的基础上)。
    • gocontainer : 简单的依赖注入容器。
    • goioc/di : Spring启发的依赖注入容器。
    • linker : 基于反射的依赖注入和反转的控件库,支持组件生命周期。
    • wire : Golang运行时依赖注入。

    项目结构

    用于构建项目的非官方模式集。

    • cookiecutter-golang :Go应用程序模板,用于按照生产最佳实践快速启动项目。
    • go-sample : 一个带有真实代码的 Go 应用项目布局示例。
    • go-todo-backend : Go Todo Backend 示例,使用模块化的项目布局,针对微服务等场景。
    • golang-standards/project-layout : - Go 生态系统中常见的历史和新兴项目布局模式集。
    • modern-go-application : 应用现代实践的 Go 应用程序模板和示例。
    • scaffold : Scaffold 生成一个入门的 Go 项目布局。让您专注于业务逻辑的实现。

    字符串处理

    • go-formatter : 实现大括号{}格式字符串的替换字段。
    • gobeam/Stringy : 字符串操作库,用于将字符串转换为驼峰、小驼峰等格式
    • strutil : 字符串实用工具。
    • xstrings : 从其他语言移植过来的字符串函数集合。

    暂未分类

    这些库被放在这里是因为其他类别似乎都不适合。

    • anagent : 简约、可插拔的Golang evloop/timer处理程序,具有依赖注入功能。
    • antch : 一个快速、强大、可扩展的网络爬行和抓取框架。
    • archiver : 用于制作和解压.zip.tar.gz文件的库和命令。
    • autoflags : Go包,用于从结构域中自动定义命令行标志。
    • avgRating : - 基于Wilson Score Equation计算平均得分和评分。
    • banner : 在你的Go应用程序中添加漂亮的横幅。
    • base64Captcha : Base64captch支持数字、数字、字母、算术、音频和数字来生成字母验证码。
    • battery : 跨平台电源信息库
    • bitio : 高度优化的比特级读写
    • browscap_go : Browser Capabilities Project GO 语言库
    • captcha : 包 captcha 为验证码的生成提供了一个简单易用的 API。
    • conv : 包conv提供了跨Go类型的快速和直观的转换。
    • datacounter : Greaders/writer/HTTP.ResponseWriter计数器
    • faker : Go的随机伪造数据和结构生成器。
    • ffmt : 美化数据显示。
    • gatus : 自动化的服务健康仪表板。
    • ghorg : 快速将整个 org/users 仓库克隆到一个目录中 - 支持 GitHub、GitLabBitbucket
    • go-commons-pool : Golang 的通用对象池。
    • go-openapi : 解析和使用 open-api 模式的软件包集合。
    • go-resiliency : golang的弹性模式。
    • go-unarr : RAR、TAR、ZIP7z文件的解压库。
    • gofakeit : 用go编写的随机数据生成器。
    • gommit : 分析git提交消息,确保它们遵循定义的模式。
    • gopsutil : 跨平台库,用于检索进程和系统利用率(CPU、内存、磁盘等)。
    • gosh : 提供 Go 统计处理程序、结构、测量方法。
    • gosms : 你本地的SMS 网关,可以用来发送 SMS
    • gotoprom : 提供Go统计处理程序、结构、测量方法
    • gountries : 一个用来展示国家及其行政区划数据的库
    • health : 简单易用、可扩展的服务健康检查库
    • healthcheck : 针对RESTful并发服务健康检查HTTP处理程序。
    • hostutils : 用于打包和解压FQDNs列表的golang库。
    • indigo : 使用SonyflakeBase58编码的分布式唯一ID生成器。
    • lk : 简单的 `golang 授权库。
    • llvm : - 用于在纯Go中与LLVM IR交互的库。
    • metrics : 用于度量工具和 Prometheus 指标的库。
    • morse : 用于转换摩尔斯代码的库。
    • numa : - NUMA 是一个用 Go 编写的实用程序库。它帮助我们编写一些NUMA-AWARED代码。
    • pdfgen : 从Json请求中生成PDFHTTP服务。
    • persian : 用go编写的波斯语实用程序。
    • sandid : 地球上的每一粒沙子都有自己的ID
    • shellwords : Golang 库,用于根据UNIX Bourne shell的单词解析规则来处理字符串。
    • shortid : 分布式生成超短的、唯一的、非序列的、URL友好的ID。
    • shoutrrr : 提供轻松访问各种消息服务的通知库,如slack, mattermost, gotifysmtp等。
    • stateless : 用于创建状态机的库
    • stats : 监控 Go 内存状态及系统状态,通过UDP进行数据发送
    • turtle : GoEmojis
    • url-shortener : 一个现代的、强大的、健壮的、支持mysqlURL短链的微服务。
    • VarHandler : 生成模板化的http输入和输出。
    • xdg : Go中实现的FreeDesktop.org (xdg)规范。
    • xkg : 键盘抓取器

    自然语言处理

    • detectlanguage : 语言检测API Go客户端。支持批量请求、短语或单字语言检测。
    • getlang : 快速自然语言检测包。
    • go-i18n : ,用于处理本地化文本 的软件包及相关工具
    • go-localize : 简单易用的i18n(国际化和本地化)引擎 - 用于翻译本地化字符串。
    • go-mystem : Yandex.Mystem CGo 接口, Yandex.Mystem 是一个俄语词汇形态学分析器
    • go-nlp : 在进行自然语言工作时用于处理离散概率分布一些工具,以及其他的一些有用的工具
    • go-pinyin : 汉字到汉语拼音转换器。
    • go-stem : 波特词干算法的一个实现
    • go-unidecode : Unicode 文本音译为 ASCII 文本
    • go2vec : 利用 Go 语言读取和处理 word2vec
    • gojieba : 结巴分词的 Go 语言实现的 jieba ,结巴分词是一个用于中文的分词算法
    • golibstemmer : snowball libstemmer 库的 Go 语言接口,包括了对 porter 2 的支持
    • gosentiwordnet : libstemmer库的Go绑定。
    • gotokenizer : 基于Golang的字典和 Bigram 语言模型的分词器。(现在只支持中文分割)
    • gounidecode : Go语言的 Unicode 直译器 (通常称之为 unidecode)
    • govader : VADER Sentiment Analysis 情感分析的Go实现
    • gse : Go高效的文本分割;支持英语、中文、日语和其他语言。
    • icu : icu4c C 库的 CGo 接口,包括了检测和转换函数。保证了version 50.1版本的兼容性
    • iuliia-go : 以各种可能的方式翻译西里尔语→拉丁语。
    • kagome : 用纯Go编写的JP形态分析器。
    • libtextcat : libtextcat C 库的CGo接口。保证了version 2.2 版本的兼容性
    • MMSEGO : Go 语言实现的 MMSEG (一个中文分词算法)
    • MMSEG : MMSEG的GO实现,是一种中文分词算法。
    • nlp : 从字符串中提取值,并用nlp填充结构。
    • nlp : 支持LSALatent Semantic Analysis)的Go自然语言处理库。
    • paicehusk :Go语言实现的 Paice/Husk 词干算法
    • petrovich : Petrovich 是一个将俄语名称转变成给定语言的库。
    • porter : Martin Porter 实现的C语言版本的Porter词干算法的 Go 语言接口。
    • porter2 : 非常快速的 Porter 2 stemmer.
    • prose : 文本处理库,支持词语切分、词性标记、命名实体提取等功能
    • RAKE.go : 快速自动关键字提取算法(Rapid Automatic Keyword Extraction:RAKE)的 Go 语言接口
    • segment : 用于进行 Unicode 文本分割的库,实现了Unicode Standard Annex #29 中描述的功能
    • sentences : 语句标记器:将文字段落转换为语句列表
    • shamoji : shamoji 是一个Go语言编写的词过滤软件包
    • snowball : Snowball native分词器的Go语言接口,提供了分词提取的功能 .
    • stemmer : Go 语言分词器软件包,包括了英语和德语分词器
    • textcat : 基于 n-gram Go 语言文本分类软件包,支持utf-8 和原始文本
    • transliterator : 提供单向字符串翻译,支持特定语言的翻译规则
    • whatlanggo : Go语言的自然语言检测包。支持84种语言和24种书写 (如拉丁,西里尔等书写系统)。
    • when : 英语、俄语的自然语言日期、时间表达解析器。

    网络相关库

    • arp : 遵循 RFC 826标准实现了 ARP协议。
    • buffstreams : 基于 TCP的 简单易用的protocolbuffer 数据流
    • canopus : CoAP客户端/服务器实现 (RFC 7252)
    • cidranger : Go的快速IP、CIDR查找库。
    • dhcp6 : dhcp6 实现了一个DHCPv6服务器,遵循RFC 3315标准。
    • dns : 用于处理 DNS Go 语言库
    • ether : 跨平台Go 语言库,用于发送和接收以太帧
    • ethernet : ethernet实现了IEEE 802.3 Ethernet II帧以及IEEE 802.1Q VLAN标签的组装和剥离.
    • fasthttp : asthttp 是一个快速的HTTP实现,比net/http1的性能快10倍
    • fortio : 负载测试库和命令行工具,提供先进的echo服务器和web用户界面。允许指定设定每秒钟查询的负载,记录延迟直方图和其他有用的统计数据,并将其绘制成图表。
    • ftp : ftp 实现了一个FTP 客户端,遵循 RFC 959 标准
    • gaio : 在proactor模式下为Golang提供高性能的异步io网络。
    • gev : 一个轻量、比标准库更快的基于 Reactor 模式的非阻塞TCP网络库,支持自定义协议,可以轻松快速搭建高性能服务器。
    • gmqtt : Gmqtt是一个灵活、高性能的 MQTT代理库,它完全实现了 MQTT 协议 V3.1.1版本
    • gnet : gnet是用纯Go编写 的一个高性能、轻量级、非阻塞、事件驱动的网络框架,
    • gNxI : 使用gNMIgNOI协议的网络管理工具集合。
    • go-getter : 一个用于通过 URL 从多种源下载文件或目录的 Go 语言库
    • go-powerdns : Golang的PowerDNS API绑定。
    • go-stun : Go语言实现的 STUN客户端 (参考RFC 3489RFC 5389标准).
    • gobgp : Go语言实现的BGP
    • gohooks : GoHooks 使得从 Go应用程序中发送和消费安全的 web-hooks非常容易。该库的实现受Spatie的Laravel Webhook客户端和服务器的启发。
    • golibwireshark : Golibwireshark 使用 libwireshark 库来解析pcap 文件并且分析数据
    • gopacket : 用于报文处理的库
    • gopcap : libpcap的 Go 语言封装
    • goshark : Goshark使用 tshark 来对 IP报文进行解码并创建数据结构用于分析报文
    • gosnmp : 用于执行 SNMP操作的库
    • gotcp : 用于快速编写tcp应用的库
    • grab : 管理文件下载的Go 语言库
    • graval : 试验性的FTP 服务器框架
    • HTTPLab : HTTPLabs让你检查 HTTP请求和伪造响应。
    • httpproxy : HTTP代理处理程序和拨号器。
    • iplib : 用于处理IP地址的库 (net.IP, net.IPNet),灵感来自python ipaddressruby ipaddr
    • jazigo : Jazigo是一个用Go编写的工具,用于检索多个网络设备的配置。
    • kcp-go : KCP - 快速可靠的ARQ协议。
    • kcptun : 基于KCP协议的极其简单和快速的udp隧道。
    • lhttp : 强大的websocket框架,让您更轻松地建立IM服务器。
    • linkio : 接口读写速度模拟器
    • llb : 非常简单但快速的后端代理服务器。对于快速重定向到预定义域名很有用,无内存分配,响应速度快
    • mdns : 简单的 mDNS (组播 DNS)客户端/服务器库
    • mqttPaho : Paho客户端提供了一个 MQTT客户端库,用于通过TCP, TLSWebSocketsMQTT broker 建立连接
    • NFF-Go : 用于快速开发云和裸机(原YANFF)的高性能网络功能的框架。
    • packet : 通过TCPUDP发送数据包。如果需要的话,它可以缓冲消息和热交换连接。
    • panoptes-stream : 云端原生的分布式流媒体网络遥测(gNMI、Juniper JTICisco MDT)库。
    • peerdiscovery : Go库,用于使用UDP组播进行跨平台本地对等发现。
    • portproxy : 单的TCP代理,为不支持CORS的API增加了CORS支持。
    • publicip : publicip返回你面向公众的IPv4地址(互联网出口)。
    • quic-go : 纯GoQUIC协议的实现。
    • raw : raw允许你在设备驱动层读写网络接口的数据
    • sftp : sftp 实现了https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt 中描述的 SSH 文件传输协议
    • ssh : 用于创建 SSH 服务器的高级 API(封装了crypto/ssh).
    • sslb : 超简单的负载均衡库。
    • stun : RFC 5389 STUN协议的Go实现。
    • tcp_server : 用于更快地构建tcp服务器的Go库。
    • tspool : 一个使用worker pool来提高性能和保护服务器的TCP库。
    • utp : Go uTP微传输协议的实现
    • vssh : Go库,用于通过SSH协议构建网络和服务器自动化。
    • water : 一个简单的TUN/TAP库。
    • webrtc : WebRTC API的纯Go实现。
    • winrm : 用于在 Windows 机器上远程执行命令的Go WinRM客户端。
    • xtcp : TCP 服务器框架,支持同时全双工通信。可以优雅的关闭,并且支持自定义协议

    Http Client

    • gentleman : -插件驱动的HTTP客户端库。
    • go-http-client : 支持简单方便地进行http调用。
    • grequests : 著名的请求库的Go版本。
    • heimdall : 具有重试和hystrix功能的http客户端。
    • httpretry : 丰富了默认的 Go HTTP客户端的重试功能。
    • pester : 具有重试、回退和并发功能的Go HTTP客户端调用。
    • request : golangHTTP客户端。如果你有关于 axiosrequests 的经验,你会喜欢它,该库没有第三方依赖。
    • resty : 受Ruby rest-client 的启发,为Go 设计的简单 HTTPREST客户端。
    • rq : golang标准客户端的更好的接口封装
    • sling : 用于创建和发送 API请求的Go HTTP客户端库。

    OpenGL

    • gl : OpenGLGo语言接口
    • glfw : GLFW 3Go语言接口
    • go-glmatrix : glMatrix 库的 Go 移植。 :
    • goxjs/gl : Go语言跨平台OpenGL 接口(OS X, Linux, Windows, browsers, iOS, Android).
    • goxjs/glfw : Go 语言跨平台 glfw库,用于创建 OpenGL上下文并接收事件
    • mathgl : Go语言 3D数学库,专注于3D,受到GLM 启发

    ORM

    • beego orm : 强大的Go 语言 orm 框架,支持pq/mysql/sqlite3.
    • ent : 简单而强大的用于数据建模和查询的ORM。
    • go-firestorm :Google/Firebase Cloud Firestore的简单ORM
    • go-pg : 专注于PostgreSQL功能和性能的ORM
    • go-queryset : 100%类型安全的ORM,能够基于GORM进行代码生成和支持MySQL、PostgreSQL、Sqlite3、SQL Server等数据库
    • go-sql : 简单的mysql ORM
    • go-sqlbuilder : 灵活而强大的SQL字符串构建库,加上一个零配置的ORM
    • go-store : -简单快速的基于Redis 的键值对存储库
    • GORM : 超棒的 Go 语言 ORM 库,对开发者非常友好
    • gormt : Mysql数据库到Golang 结构体的orm库。
    • gorp : GoORM类库。
    • grimoire : Grimoire golang的数据库访问层和验证层。(支持:MySQL, PostgreSQLSQLite3)。
    • lore : 适用于Go的简单轻量级的伪ORM/伪结构映射环境,。
    • marlow : 从项目结构生成ORM,以保证编译时的安全。
    • pop/soda : 支持 MySQL, PostgreSQL, 以及SQLite.的数据库迁移、创建、ORM 的工具,
    • QBS : 利用结构体进行标准查询,是一个 Go语言ORM
    • reform : 基于非空接口和代码生成的优秀的 ORM,
    • rel : Golang的现代数据库访问层 - 可测试、可扩展,并支持生成简洁优雅的API
    • SQLBoiler :ORM 生成器。为你的数据库表单生成一个功能全面、快速的 ORM
    • upper.io/db : - 通过使用封装了成熟的数据库驱动的适配器,来使用单一接口与不同的数据源进行交互
    • XORM : 简单、强大的 Go 语言 orm
    • Zoom : 基于 Redis 构建的超快的数据存储于查询引擎。

    Go语言包管理

    • go modules : go module是最新的go语言版本管理工具。go module具有支持包引入记录和其他模块的依赖构建功能。
    • dep : Go 语言依赖工具.
    • vgo : 用于包和依赖管理的非官方库。
    • gigo : 类似PIP的依赖管理工具。支持私有仓库和哈希
    • glide : 轻松管理你的GO 语言包发布者以及发布包。 受到类似 Maven, BundlerPip这些工具的的启发
    • godep : Go 语言依赖工具,Godep可以帮助开发者修复库的依赖关系
    • gom : Go Manager
    • goop : 简单的依赖管理工具,受到Bundler的启发
    • gop : 通过GOPATH 构建和管理你的Go 应用程序。
    • gopm : Go 包管理器
    • govendor : Go 包管理器。 Go语言vendor 工具,兼容标准 vendor文件
    • gpm : Go语言包管理工具
    • johnny-deps : 使用 Git 的最小依赖版本。
    • modgv : 将go mod graph输出转换为GraphvizDOT 语言。
    • mvn-golang : 提供自动加载Golang SDK、依赖管理和在Maven项目基础架构中启动构建环境的方法的插件。
    • nut : Vendor Go的依赖关系。
    • VenGO : 创建和管理可导出的隔离的Go虚拟环境。
      绩效
    • jaeger : 分布式跟踪系统。
    • pixie : 通过 eBPF Golang应用程序进行无工具追踪。
    • profile : Go 的简单剖析支持包。
    • statsviz : 实时可视化你的Go应用程序运行时的统计数据。
    • tracer : 简单、轻量级的代码追踪库。

    查询语

    • api-fu :GraphQL的go语言实现。
    • dasel : 基于命令行的选择器查询和更新数据结构。类似于jq/yq,但支持JSON、YAML、TOMLXML
    • gojsonq : 用于查询JSON数据的Go
    • graphql : graphql解析器和实用工具
    • graphql : 专注于易用性的GraphQL 服务器
    • graphql-go : 为Go语言实现的GraphQL
    • gws : ApollosGraphQL over Websocket客户端和服务器实现。
    • jsonql : JSON查询表达式库
    • jsonslice : 具有高级过滤器的Json路径查询。
    • rql : REST API的资源查询语言。
    • rqp : REST API的查询分析器。在查询中直接支持过滤、验证、AND、OR操作。
    • straf : - 轻松地将Golang结构转换为GraphQL对象。

    资源嵌入

    • esc : - 在Go语言程序中嵌入文件并为其提供HTTP.FileSystem 接口
    • fileb0x : 用于在 Go语言程序中嵌入文件的工具,专注于可定制化和易用性
    • go-embed : 生成用于嵌入资源文件到库或可执行文件的 Go 语言代码
    • go-resources : 简洁的Go 语言资源嵌入工具
    • go.rice : Go.rice是一个让你轻松使用html,js,css,图片以及模板这类资源的库
    • mule : 将外部资源如图片、电影…嵌入到Go源代码中,使用go generate创建单文件二进制文件,专注于简单性。
    • packr : 将静态文件嵌入Go二进制文件的简单方法。
    • statics : 将静态资源嵌入到Go 文件中,用于单独二进制编译+使用http.FileSystem + symlinks.
    • statik : 将静态文件嵌入到Go 语言可执行文件中
    • templify : 将外部目标文件嵌入到 Go 代码中来创建单独的二进制文件
    • vfsgen : 生成一个vfsdata.Go文件,静态实现了一个虚拟文件系统

    数据分析与数据科学

    • assocentity :单词到给定实体的平均距离计算包。
    • bradleyterry : 成对比较提供一个布拉德利-特里模型。
    • calendarheatmap : 受Github contribution的启发,为普通Go语言包提供的日历热图。
    • chart : Go的简单图表绘制库,支持多种图形类型。
    • dataframe-go : 用于机器学习和统计的数据框类似于pandas
    • decimal : 包decimal实现了任意精度的十进制浮点运算。
    • evaler : 简单的浮点算术表达式评估器。
    • ewma : 指数加权移动平均数。
    • geom : golang的几何处理库。
    • go-dsp : 数字信号处理
    • go-gt : 图论算法
    • goent : 熵测量的GO实现
    • gohistogram : 数据流的近似直方图
    • gonum : 用于 Go 编程语言的数值库。它包含了矩阵、统计、优化等方面的库。
    • gonum/plot : Gonum/plot提供了用于创建和绘制图表的API
    • goraph : 纯Go语言编写的图论库(数据结构,算法可视化)
    • gosl : 用于线性代数、FFT、几何学、NURBS、数值方法、概率、优化、微分方程等的 Go 科学库。
    • GoStats : GoStats 是一个开源的GoLang 库,主要用于机器学习领域的数学统计,它涵盖了大部分的统计测量函数。
    • graph : 基本图形算法库。
    • ode : 普通微分方程 (ODE) 求解器。支持扩展状态及基于通道的迭代算法终止条件
    • orb : 支持剪裁、GeoJSON Mapbox Vector Tile2D 几何类型。
    • pagerank : Go语言实现的加权网页排名PageRank算法
    • piecewiselinear : 小型线性插值库。
    • PiHex : 贝利-波尔温-普劳夫公式"Bailey-Borwein-Plouffe")`算法的实现,用于计算十六进制π
    • rootfinding : 用于查找二次函数根的寻根算法库
    • stats : 统计库,包含一些 Go 语言标准库中漏掉的常用函数
    • streamtools : 通用图形化工具,用于处理流数据
    • TextRank : Golang中的TextRank 实现,具有可扩展的特性(摘要、加权、短语提取)和多线程(goroutine)支持。
    • triangolatte : 2D三角测量库。允许将线条和多边形(基于点)翻译成GPU语言。

    安全领域相关库

    • acmetool : ACME (Let's Encrypt) 客户端工具,支持自动续期.
    • acra : 用于保护基于数据库的应用程序的网络加密代理,用于防止数据泄露、SQL注入等。
    • argon2-hashing : Goargon2 包的封装,与Go 的标准库 Bcryptsimple-scrypt 包相对应
    • argon2pw : 具有恒定时间密码比较功能的argon2 密码散列生成库
    • autocert : 自动提供Let's Encrypt 证书并启动 TLS服务器。
    • BadActor : 受fail2ban 的启发驻留在内存中的应用驱动监控程序,
    • Cameradar : 用于远程入侵监控摄像头的RTSP流的工具库。
    • certificates : 用于生成tls证书的工具库。
    • firewalld-rest : 用于动态更新linux服务器上的firewalld规则的定时程序。
    • go-generate-password : 密码生成器,可以作为客户端使用或者作为代码库使用。
    • go-password-validator : 用于原始加密熵值的密码验证器。
    • go-yara : Go Bindings forYARA 恶意软件研究人员(以及其他所有人)的模式匹配瑞士刀"。
    • goArgonPass : Argon2密码散列和验证,旨在与现有的Python和PHP实现兼容。
    • goSecretBoxPassword : 用于安全地散列和加密密码的go语言包。
    • Interpol : 用于模糊和渗透测试的基于规则的数据生成器,。
    • lego : 纯 Go语言开发的 ACME 客户端库及命令行工具
    • memguard : 用于处理内存中敏感数据的Go 语言库
    • nacl : NaCL系列 APIGo 实现
    • optimus-go : 使用Knuth算法进行ID哈希和混淆。
    • passlib : 密码哈希库
    • secure : 为 Go 提供了一些安全功能 HTTP 中间件,
    • secureio : 基于XChaCha20-poly1305、ECDHED25519io.ReadWriteCloser的密钥交换+认证+加密封装器和复用器
    • simple-scrypt : Scrypt库,具有简单、易懂的API,同时具有内置的自动校准功能
    • ssh-vault : 利用 ssh 秘钥加解密 。
    • sslmgr : 通过对acme/autocert的高级封装,使SSL证书的使用变得简单。
    • themis : 高级加密库,用于解决典型的数据安全任务(安全数据存储、安全消息传递、零知识证明认证),提供14种语言,最适合多平台应用。

    序列化

    • asn1 : Asn.1 BER 及 DER 编码库
    • bambam : 从Go中生成Cap'n Proto模式。
    • bel : 从Go结构/接口生成TypeScript接口。对JSON RPC有用。
    • binstruct : 用于将数据映射到结构中的Golang 二进制解码器。
    • cbor : 小巧、安全、简单的 CBOR 编码和解码库。
    • colfer : 用于生成 Colfer二进制格式代码
    • csvutil : 高性能的CSV记录编码和解码器
    • elastic : 在动态转换不同类型的库
    • fixedwidth : 固定宽度的文本格式(支持UTF-8)。
    • fwencoder : Go的固定宽度文件解析器(编码和解码库)
    • go-capnproto : Go的Cap'n Proto编码器和解析器。
    • go-codec : 高性能、多功能、规范化编码解码以及rpc库, 用于 msgpack, cborjson,支持基于运行时的 OR 码生成
    • go-lctree : 提供一个CLI和基元来序列化和反序列化 LeetCode二进制树。 LeetCode binary trees :
    • gogoprotobuf : 用于Gadgets 的go协议缓冲区。
    • goprotobuf : 以库和协议编译器插件的形式为 Google 的协议缓冲区提供 Go 支持。
    • jsoniter : 100%兼容的"encoding/json "的 高性能程序库。
    • mapstructure : 用于将通用map值解码为本地Go结构的Go库。
    • php_session_decoder : 用于处理 PHP session 格式和PHP Serialize/Unserialize函数的 GoLang 库。
    • pletter : 为消息中介包装原消息的标准方法。
    • structomap : 用于从静态结构中轻松动态地生成映射的库。

    服务端应用

    • algernon : HTTP/2 web服务器,内置Lua、Markdown、GCSSAmber支持。
    • Caddy : Caddy是一个备选的 HTTP/2 web 服务器,配置简单,使用方便。
    • consul : Consul是一个用于服务发现、监控和配置的工具
    • devd : 开发者使用的本地web 服务器
    • discovery : 一个用于弹性中层负载均衡和故障转移的注册表。
    • dudeldu : 一个简单的SHOUTcast服务器。
    • etcd : 高可用性的键值存储,用于分享配置和服务发现
    • Fider : Fider是一个收集和整理客户反馈的开放平台。
    • Flagr : Flagr是一个开源的功能标志和A/B测试服务。
    • flipt : 用GoVue.js编写的自带功能标志的解决方案。
    • go-proxy-cache : 简单的反向代理与缓存,用Go编写,使用Redis
    • jackal : 用Go编写的XMPP服务器。
    • lets-proxy2 : 反向代理,用于处理https,在fly中使用 lets-encrypt发行证书。
    • minio : Minio 是一个分布式对象存储服务器
    • nginx-prometheus : -NginxPrometheus exporter
    • nsq : 一个实时的分布式消息平台
    • protoxy : 一个将JSON请求体转换为协议缓冲区的代理服务器。
    • psql-streamer : 从PostgreSQLKafka的数据库事件流。
    • riemann-relay : - 负载平衡Riemann事件和/或将其转换为Carbon的中继。
    • RoadRunner : 高性能的PHP应用服务器,负载均衡器和进程管理器。
    • SFTPGo : 功能齐全、高度可配置的SFTP服务器,可选择支持FTP/S和WebDAV。它可以为本地文件系统和云存储后端服务,如S3和谷歌云存储。
    • simple-jwt-provider : 简单轻量级的provider,它展示了JWTs,支持登录、密码重置(通过邮件)和用户管理。
    • Trickster : HTTP反向代理缓存和时间序列加速器。

    流处理

    流式数据处理和响应式编程库

    • go-streams : Go流处理库。
    • machine : 内置度量和具有可跟踪的用于编写和生成流式workerGo
    • stream : Go Stream,像Java 8 Stream一样。支持Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce...等特性

    模板引擎

    模版渲染和模版生成处理库

    • ace : Go 语言版本的 HTML 模板引擎,受到了 SlimJade 的启发。Ace 是对Gold的一种改进。
    • amber : Amber 是一个优雅的模板引擎,受到HAMLJade的启发
    • damsel : 通过css选择器实现了 html 框架 ,并可以通过 pkg html/template 等进行扩展
    • ego : 轻量级模板语言,让你可以使用 Go语言来创建模板。模板会被转化为 Go 语言并编译
    • extemplate : 围绕html/template 的小型封装器,可以轻松实现基于文件的模板继承
    • fasttemplate : 简单而快速的模板引擎。替换模板占位符的速度比text/template : 快10倍
    • gofpdf : PDF文档生成器,高度支持文本、绘图和图像。
    • gospin : 语法引擎,对于A/B、测试文本/文章片段和创建更自然的对话非常有用。
    • goview : Goview是一个轻量级的、简约的、习惯性的模板库,基于golang html/template来构建Go web应用。
    • hero : Hero是一个趁手的、快速的、强大的 Go 语言模板引擎
    • jet : Jet 模板引擎
    • kasia.go : 使用go语言实现的 用于HTML 和其他文本文件的模板系统,
    • liquid : Go 语言实现的Shopify Liquid模板.
    • maroto : 用Maroto的方式来创建PDF。Maroto的灵感来自于Bootstrap并使用gofpdf
    • mustache : Go语言实现的 Mustache模板语言
    • pongo2 : 类似Django的模板引擎
    • quicktemplate : 快速、强大且易用的模板引擎。将模板转化为 Go 语言并进行编译
    • raymond : 使用 Go语言实现的完整的 handlebars
    • Razor : Go语言的 Razor 视图引擎
    • Soy :go语言实现的谷歌闭包模板(也就是Soy templates), 参见官方说明文档 :
    • velvet : 使用 Go语言实现的完整的` handlebars

    测试相关

    测试库和测试数据集生成库

    • 测试框架
      • apitest : 为基于REST的服务或HTTP处理程序提供简单且可扩展的行为测试库,支持模拟外部http调用和渲染序列图。
      • assert : 基础断言库,用于对Go语言程序进行测试,提供了一些用于自定义断言的代码块
      • badio : Go 语言 testing/iotest包的扩展
      • baloo : 表达性强、多功能的、端到端的HTTP API 测试工具
      • biff : Bifurcation测试框架,兼容BDD
      • charlatan : 为测试生成虚假接口实现的工具。
      • commander : 用于在windows、linuxosx上测试`cli应用程序的工具。
      • covergates : 自主的代码覆盖率报告审查和管理服务。
      • cupaloy : 用于测试框架的简单快照测试插件。
      • dbcleaner : 清空数据库用于测试,受到database_cleaner的启发
      • dsunit : 数据库测试,针对 SQL、 NoSQL、 结构化文件.
      • embedded-postgres : 作为另一个 Go应用程序或测试的一部分,在Linux、OSXWindows上本地运行一个真正的 Postgres 数据库
      • endly : 声明式端到端功能测试。
      • flute : HTTP客户端测试框架。
      • frisby : REST API 测试框架
      • ginkgo : BDD 测试框架
      • go-carpet : 用于在终端中查看测试覆盖率的工具
      • go-cmp : 用于比较测试中的 Go值的软件包。
      • go-hit : 用golang编写的 http 集成测试框架。
      • go-mutesting : Go语言源代码突变测试(Mutation testing )
      • go-testdeep : 扩展了 go 测试包的极为灵活的golang 深度比较库,。
      • go-vcr : 记录并重放 HTTP交互,用于快速的、确定性的、准确的测试
      • goblin : 类似 Mocha 的测试框架
      • goc : Goc是一个针对 Go 编程语言的综合覆盖测试系统。
      • gocheck : 更加高级的测试框架,用于替换Gotest.
      • GoConvey : BDD 风格的测试框架,具有 web 界面和计时刷新功能
      • gocrest : 用于Go 断言的可组合的类似hamcrest的匹配器。
      • godog : 类似于CucumberBehatGo BDD框架。
      • gofight : 对Go 语言的路由框架进行API 测试
      • gogiven : 类似 YATSPECGo BDD测试框架。
      • gomatch : 类似Rspec 的匹配器/断言库。
      • gomega : 类似Rspecmatcher/assertion
      • GoSpec : BDD风格的测试框架
      • gospecify : 支持 BDD语法 。对于任何使用过 rspec 等库的人来说应该非常熟悉
      • gosuite : 轻量级测试套,为Go1.7's Subtests带来了setup/teardown功能
      • gotest.tools : 用于增强 Go 测试包并支持常见模式的软件包集合。
      • Hamcrest : 用于声明式Matcher 对象的流畅框架,当应用于输入值时,会产生自描述的结果。
      • httpexpect : 简洁的、声明式的、易用的端到端HTTP 及 REST API 测试
      • jsonassert : 用于验证JSON有效载荷是否被正确序列化的软件包。
      • restit : 帮助编写RESTful API集成测试的Go 语言微型框架.
      • schema : 对请求和响应中使用的JSON模式进行快速、简单的表达式匹配。
      • stop-and-go : 并发测试助手。
      • testcase : 行为驱动开发的直观测试框架。
      • testfixtures : 类似 Rails的测试工具,用于测试数据库应用
      • Testify : 对标准测试包的扩展
      • testmd : 将markdown片段转换为可测试的go代码。
      • testsql : 在测试前从SQL文件中生成测试数据,并在测试结束后将其清除。
      • trial : 快速简单的可扩展断言,不需要引入太多模板。
      • Tt : 简单而多彩的测试工具。
      • wstest : Websocket客户端,用于对于 websocket HTTP.Handler进行单元测试

    • Mock
      • counterfeiter : 用于生成自包含mock对象的工具
      • go-localstack : 在AWS测试中使用localstack的工具。
      • go-sqlmock : Mock SQL ,用于测试数据库交互
      • go-txdb : 基于单事物的数据库驱动,主要用于测试目的
      • gock : 多功能、易用HTTP mock
      • gomock : 给 Go 语言用的Mock框架
      • govcr : HTTP mock: 离线测试时记录和重放浏览器的动作
      • hoverfly : HTTP(S) : proxy,用于记录和模拟REST/SOAP API,具有可扩展的中间件和易于使用的 CLI。
      • httpmock : 轻松模拟来自外部资源的 HTTP 响应。
      • minimock : Mock生成器
      • mockhttp : Go HTTP.ResponseWriter使用的 Mock 对象
      • timex : 原生时间包的测试友好的替代品。
    • Fuzzing and delta-debugging/reducing/shrinking.
      • go-fuzz : 随机化测试系统
      • gofuzz : 用于生成随机值来初始化Go语言对象的库
      • Tavor : 通用模糊测试框架
    • Selenium及浏览器控制工具
      • cdp : 类型安全的的 Go 语言接口,可以用于浏览器或任何实现了 Chrome debug协议的其他待调试对象
      • chromedp : 用于驱动和测试Chrome, Safari, Edge, Android Webviews, 以及其他支持Chrome调试协议的产品
      • ggr : 轻量级服务器,可以将 Selenium Wedriver 的请求路由或代理到多个Selenium hubs.
      • rod : Devtools驱动,使网络自动化测试变得简单。
      • selenoid : Selenium hub服务器的替代品,可以在容器中启动浏览器
    • Fail injection

    文本处理

    解析和操作文本的代码库

    • 特定文本格式处理
      • align : 文本对齐
      • allot : 占位符及通配符文本解析
      • bbConvert : 将bbCode 转换为HTML
      • blackfriday : Markdown 解析器
      • bluemonday : HTML 清理工具
      • codetree : 解析缩进代码(python、pixy、scarlet等)并返回一个树形结构。
      • colly : go语言版爬虫框架
      • commonregex : Go常用正则表达式的集合。
      • dataflowkit : Web爬虫框架用于将网站转化为结构化数据。
      • did : Go中的DID(去中心化标识符)解析器和Stringer
      • doi : Go中的文档对象标识符(doi)解析器。
      • editorconfig-core-go : Go 语言用的Editorconfig 文件解析和操作库
      • enca : libenca : 的极简的cGo接口
      • encdec : 通用编码和解码器
      • genex : 计算并展开正则表达式为所有匹配的字符串
      • github_flavored_markdown : GitHub Flavored Markdown 渲染器(使用 blackfriday),带有栅栏式代码块高亮,可点击标题锚链接
      • go-fixedwidth : 固定宽度的文本格式(带反射的编码器/解码器)。
      • go-humanize : 将时间、数字和内存大小格式化为人类可读的格式。
      • go-nmea : Go语言的NMEA解析库。
      • go-runewidth : 用于获取固定宽度的字符或字符串的函数。
      • go-slugify : 制作支持多语言的漂亮slug
      • go-toml : TOML格式的Go库,
      • go-vcard : 解析和格式化vCard
      • go-zero-width : Go的零宽度字符检测和移除。
      • gofeed : 使用Go语言解析RSSAtom
      • gographviz : 用以解析Graphviz DOT 语言
      • gommon/bytes : 格式化二进制为字符串
      • gonameparts : 将人名解析为几个独立的部分
      • goq : 声明式HTML 编组,使用结构标签和jQuery语法 (使用GoQuery).
      • GoQuery : GoQuery Go语言带来了一组类似jQuery 的语法和功能
      • goregen : 根据正则表达式生成随机字符串
      • goribot : 简单的golang爬虫框架,3行代码就可以创建爬虫。
      • gotext : Go语言版本的GNU gettext工具。
      • guesslanguage : 用于确定unicode文本的自然语言的函数。
      • html-to-markdown : 将HTML转换为Markdown。甚至适用于整个网站,并可通过规则进行扩展。
      • htmlquery : HTMLXPath 查询包,让您可以通过 XPath 表达式从HTML文档中提取数据。
      • inject : 一个基于反射的注入器
      • ltsv : 适用于 Go 的高性能 LTSV(Labeled Tab Separated Value)阅读器。LTSV (Labeled Tab Separated Value) :
      • mxj : 通过点分路径和通配符来提取值 将 XML编解码为 JSON map[string]interface{};目的是用于替代Replaces x2jj2x 包.
      • pagser : Pagser是一个简单的、可扩展的、可配置的、基于goquerystruct标签的golang 爬虫解析和反序列化工具,能够将html页面映射到struct结构体中。
      • podcast : Golang中兼容iTunesRSS 2.0的播客生成器。
      • sdp : SDP Session Description Protocol, RFC 4566实现
      • sh : Shell解析器及格式化工具
      • slug : URL友好的 slug 化工具,支持多种语言
      • Slugify : Go语言静态地址生成器,可以处理字符串
      • syndfeed : 适用于Atom 1.0和RSS 2.0的聚合feed
      • toml : TOML 配置格式的编码解码器
    • 文本工具
      • gofuckyourself : 敏感词过滤器
      • gotabulate : 使用 Go轻松地打印你的表格数据。
      • kace : 涵盖常见初始化的普通大小写转换。
      • parseargs-go : 能理解引号和反斜杠的字符串参数解析器。
      • parth : URL路径分割解析库。
      • radix : 快速字符串排序算法。
      • regroup : 使用struct标记和自动解析将正则表达式命名的组匹配到 go 结构中。
      • Tagify : 从给定的源中产生一组标签。
      • textwrap : Pythontextwrap模块的实现。
      • TySug : 关于键盘布局的替代建议。
      • xj2go : 将xml或json转换为go结构。
      • xurls : 从文本中提取URLs

    第三方API

    第三方API 汇总


    工具库

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

    • apm : 具有HTTP APIGo语言进程管理工具.
    • backscanner : 类似于 bufio.Scanner 的扫描器,但它以反向顺序读取并返回结果。
    • beyond : Go工具,它将推动你进入AOP世界!
    • blank : 验证或删除字符串中的空白和空白字符。
    • boilr : 用于从模板中快速创建项目的CLI工具。
    • chyle : 使用git仓库的变更日志生成器,具有多种配置
    • circuit : 高效且功能完整的Hystrix断路器模式的go语言实现
    • circuitbreaker : Go中的断路器。
    • clockwork : 使用简单、流畅的语法来调度周期性任务
    • cmd : 用于在 osx、windowslinux上执行shell命令的库。
    • command : 命令模式,支持线程安全的串行、并行调度
    • copy : 用于快速复制不同类型结构的软件包。
    • copy-pasta : 通用多工作站剪切板,使用类似 S3 的后端作为存储
    • countries : 完全执行ISO-3166-1、ISO-4217、ITU-T E.164、Unicode CLDR和IANA ccTLD标准的库。
    • create-go-app : 通过运行一个命令就可以创建一个新的生产就绪项目,包括后端(Golang)、前端(JavaScript、TypeScript)和部署自动化(Ansible、Docker)的强大的CLI
    • ctop : 用于容器指标,类似于Top的接口(例如htop)。
    • ctxutil : 用于上下文context的实用函数集合。
    • dbt : 从中央可信仓库运行自更新签名二进制文件的框架。
    • Death : -利用信号管理应用程序的关闭
    • Deepcopier : Go的简单结构拷贝库。
    • delve : Go语言调试器
    • dlog : 编译时控制的日志,让你的release 包变得更小而不需移除 debug调用
    • equalizer : Go的配额管理器和速率限制器。
    • ergo : 简化了对运行在不同端口的多个本地服务的管理。
    • evaluator : 基于s-expression动态地评估一个表达式。简单且易于扩展。
    • filetype : 用于推断文件类型的小程序包,它可以检查魔法数字签名。
    • filler : 使用"fill "标签来填充结构的小工具。
    • filter : 提供 Go数据的过滤、净化和转换。
    • fzf : 命令行模糊查找工具
    • gaper : 当 Go 项目崩溃或某些监视文件发生变化时,构建并重新启动该项目。
    • generate : 针对一个路径或环境变量,递归的执行 Go generate,可以通过正则表达式来进行过滤
    • ghokin : 并行化的格式化程序,不需要对gherkin (cucumber, behat...),的外部依赖。
    • git-time-metric : 简单、无缝、轻量级的 Git时间跟踪。
    • go-astitodo : 解析GO代码中的todo事项。
    • go-bind-plugin : 用于包装 golang 插件导出的符号的go:generation工具 (仅限 1.8)。
    • go-bsdiff : 纯粹的Go bsdiffbspatch库以及CLI 工具。
    • go-convert : go-convert 使您能够将一个值转换为另一种类型。
    • go-countries : 轻量级的ISO-3166代码查询。
    • go-dry : go语言中DRY (don't repeat yourself)
    • go-funk : Go语言工具库,提供了很多有用的工具(map, find, contains, filter, chunk, reverse, ...)
    • go-health : 简化了你在服务中添加健康检查的方式。
    • go-httpheader : 用于将结构体编码进 http 头的 Go 语言库
    • go-lock : go-lock 是一个实现读写互斥和读写试锁的无饥饿状态的锁库。
    • go-problemdetails : 用于处理问题细节的 Go包。
    • go-rate : Go 语言版本的限速器
    • go-safe : panic处理安全沙盒。
    • go-sitemap-generator :XML网站地图生成器
    • go-trigger : Go语言全局事件触发器,通过 id 和触发器,在程序的任何地方注册事件
    • goback : Go语言的简单的指数补偿包
    • goctx : 获取高性能的上下文值。
    • godaemon : 用于编写守护进程的工具
    • godropbox : Dropbox开发的用于编写 Go语言服务/应用的库
    • gohper : 能够帮助你进行软件开发的工具和模块
    • golarm : 告警(支持系统事件)库
    • golog : 简单、轻量级的命令后工具,用于对你的计划任务进行跟踪
    • gopencils :Go语言库,能够很容易的使用各种 REST APIs.
    • goplaceholder : 用于生成占位符图片的小golang库。
    • goreadability : 使用Facebook Open Grapharc90的可读性提取网页摘要。
    • goreleaser : 尽可能快速的发布Go语言二进制文件
    • goreporter : 进行代码静态分析,单元测试,代码检视并生成代码质量报告的工具
    • goseaweedfs : 具有几乎全部功能的SeaweedFS客户端库。
    • gostrutils : 字符串操作和转换函数的集合。
    • gotenv : 从 .env 或者任何io.Reader中加载环境变量
    • gpath : 用于简化结构体域访问的库
    • gubrak : 带有语法糖的 Golang工具库。它类似于lodash,但适用于 golang
    • handy : 许多实用工具和帮助程序,如字符串处理程序/格式化程序和验证器。
    • hostctl : 用简单的命令管理/etc/hosts CLI工具。
    • htcat : 并行及流水线的 HTTP GET 工具
    • hub : 封装了git命令,提供了额外的功能用于在终端中和Github 进行交互
    • hystrix-go : 实现 Hystrix 风格的、程序员预定义的fallback 机制(熔断)
    • immortal : *nix 跨平台 (与操作系统无关的)监控程序
    • intrinsic : 不需要编写任何汇编代码就能使用x86 SIMD
    • jsend : JSend的实现是用Go编写的。
    • jump : Jump通过学习你的习惯来帮助你更快地浏览文件。
    • koazee : 受Lazy评估和函数式编程启发而开发的库,它消除了使用数组的麻烦。
    • lets-go : Go模块,为云原生REST API开发提供了常用的实用工具。还包含AWS特定的实用程序。
    • limiters : Golang中分布式应用的速率限制器,具有可配置的后端和分布式锁。
    • lrserver : GoLiveReload服务器。
    • mc : Minio Client提供了与 Amazon S3兼容的云存储和文件系统管理工具。
    • mergo : Golang中合并结构和地图的助手。对配置默认值很有用,避免了混乱的if语句。
    • mimemagic : 纯go语言实现的超强的MIME嗅探库/工具。
    • mimesniffer : GoMIME 类型嗅探器。
    • mimetype : 基于魔数的MIME类型检测包。
    • minify : 快速压缩HTML, CSS, JS, XML, JSON 以及 SVG 文件格式
    • minquery : MongoDB / mgo.v2查询,支持高效的分页。
    • mmake : 现代Make工具
    • moldova : 基于输入目标生成随机数据的工具
    • mole : 用于轻松创建ssh隧道的cli应用程序。
    • mongo-go-pagination官方mongodb/mongo-go-driver包的Mongodb Pagination,支持普通查询和聚合管道。
    • mssqlx : 数据库客户端库,代理任何主从,主主结构。考虑到轻量级和自动平衡。
    • multitick : 多路复用器
    • myhttp : 支持超时的HTTP GET请求的简单API
    • netbug : 轻松地对你的服务进行远程剖析。
    • nfdump : 读取nfdump netflow文件。
    • nostromo : 用于构建强大别名的CLI
    • okrun : golang error流式处理库
    • olaf : 在Go中实现的Twitter Snowflake
    • onecache : 支持多个后端存储的缓存库(Redis、Memcached、文件系统等)。
    • panicparse : 将类似的goroutines分组,并对堆栈转储进行着色。
    • pattern-match : 模式匹配库
    • peco : 简单的交互式过滤工具。
    • pgo : 为PHP社区提供方便的功能。
    • pm : 带有 HTTP API 的进程(即goroutine)管理器。
    • ptr : 提供从基本类型的常量中简化创建指针的函数的包。
    • r : 类似于Python range() Go
    • rclient : 可读性良好、灵活、易用的REST APIs 客户端
    • realize : Go 语言构建系统,可以监控文件变化并重新加载。运行,构建,监控文件并支持自定义路径
    • repeat : Go实现不同的回退策略,对重试操作和心跳有用。
    • request : Go语言版的HTTP Requests for Humans™.
    • rerate : Go的基于Redis的速率计数器和速率限制器。
    • rerun : 当源码发生变化时,重新编译和重新运行go应用程序。
    • rest-go : 提供许多有用的方法来使用rest api的包。
    • retry : 最先进的功能机制,用于重复执行动作直到成功。
    • retry : 简单但高度可配置的Go重试包。
    • retry : Go中简单易行的重试机制包。
    • retry : 确保工作能够完成的go语言库。
    • retry-go : 为golang提供简单易行的重试。
    • robustly : 弹性地运行函数,捕捉和重启 并自动处理panic
    • scan : 直接将golang sql.Rows扫描为 structs、slicesprimitive类型。
    • scany : 用于将数据库中的数据扫描成 Go结构等的库。
    • serve : 静态 http服务器。
    • shutdown : 用于os.Signal 处理的应用程序关机钩子。
    • silk : 读取 silk netflow文件。
    • slice : 用于常见 Go分片操作的类型安全函数。
    • sliceconv : 原始类型之间的切片转换。
    • slicer : 让分片的工作更容易。
    • sorty : 快速并发/并行排序。
    • spinner : Go 语言软件包,提供多种选项,方便在终端中创建加载动画
    • sqlx : 为内建的database/sql 软件包提供扩展
    • statiks : 快速、零配置、静态的HTTP文件服务器。
    • Storm : 用于BoltDB 的简单又强大的工具
    • structs : 实现简单的函数来操作结构。
    • Task : 简单来讲就是"Make"的替代品
    • taskctl : 并发任务运行库。
    • tik : 为Go提供简单方便的定时任务调度包。
    • tome : Tome被设计用来对RESTful API进行简单分页。
    • toolbox : slice, map, multimap, 结构体, 函数,数据转换工具、服务路由,宏求值和标记器工具
    • ugo : uGo是一个切片工具箱。
    • UNIS : Go语言字符串处理函数的通用架构
    • usql : usql是一个通用的命令行接口,用于操作sql数据库
    • util : 收集了很多有用的函数
    • wuzz : 交互式命令行程序,用于进行HTTP 检查
    • xferspdy : Xferspdy 提供了二进制比对以及patch补丁功能

    UUID

    UUID 生成和操作库

    • goid : 生成并解析符合 RFC4122标准的 V4 UUID
    • gouid : 只需一次分配就能生成加密安全的随机字符串ID
    • nanoid : 微型而高效的Go唯一字符串ID生成器。
    • sno : 内嵌元数据的紧凑、可排序和快速的唯一ID
    • ulid : ULID (Universally Unique Lexicographically Sortable Identifier) Go实现。
    • uniq : 使用命令快速、安全的唯一标识符。
    • uuid : 用快速或加密质量的随机节点标识符生成、编码和解码UUIDs v1
    • uuid : 通用唯一标识符(UUID)的实现。支持UUID的创建和解析。
    • uuid : 基于RFC 4122DCE 1.1UUIDs Go包。
    • wuid : 极快的唯一数字生成器,比UUID快10-135倍。

    校验库

    用于校验的库

    • checkdigit : 提供数字算法(Luhn, Verhoeff, Damm)和数字计算(ISBN, EAN, JAN, UPC等)功能的库。
    • gody : 针对 'Go` 的轻量级结构体验证器。
    • govalid : 基于标签的快速结构体验证。
    • govalidator : 数据验证及清晰工具,用于字符串,数字, 数组切片及结构体
    • govalidator : 用简单的规则验证Golang请求数据. 高度受Laravel的请求验证的启发.
    • jio : jio是一个类似于joi 的json模式验证器.
    • ozzo-validation : 支持多种数据类型的验证 (结构体,字符串,键值对,数组切片等等),具有可配置、可扩展的验证规则,且使用常用代码结构定义,而非结构体标签
    • terraform-validator : Terraform的规范和约定验证器。
    • validate : 用于数据验证和过滤的Go包,支持验证Map、Struct、Request(Form、JSON、url.Values、Uploaded Files)数据和更多的功能。
    • validate : 为Go语言程序编写验证工具的框架
    • validator : Go结构体及域验证,包括:跨域、跨结构体,Map, 切片和数组

    版本控制

    版本控制相关库

    • gh : 用于 GitHub Webhooks的可编程服务器以及net/HTTP 中间件
    • git2go : libgit2 Go语言接口
    • go-git : 纯Go中实现高度可扩展的Git
    • go-vcs : 通过Go语言来操作和检视 VCS代码仓
    • hercules : 查看git repo历史的代码库
    • hgo : HGo 是一个Go语言软件包集合,提供了对本地 Mercurial仓库的读取能力.

    视频

    视频和流媒体相关库

    • gmf : FFmpeg av*库的 Go 语言接口.
    • go-astisub : 使用 Go 语言操作字幕(.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
    • go-astits : 在 GO 中解析和解调 MPEG 传输流(.ts)。
    • go-m3u8 : 苹果m3u8播放列表的解析器和生成库。
    • go-mpd : MPEG-DASH清单文件的解析器和生成器库。
    • goav : 易用的 FFmpegGo 语言接口
    • gst : GStreamer的 Go 语言接口
    • libgosubs : Go的字幕格式处理库。支持.srt、.ttml和.ass`。
    • libvlc-go : libvlc 2.X/3.X/4.X的go语言封装)(VLC 媒体播放器使用)。
    • m3u8 : 用于苹果HLSM3U8播放列表解析器和生成器库
    • v4l : Go语言编写的Linux下使用的视频截图库

    web框架

    web 框架

    • aah : 可扩展、高性能、快速发布的 Go语言web框架
    • Aero : Go的高性能Web框架,在Lighthouse 评比中拿到最高分
    • Air : 理想的RESTful web 框架
    • appy : 高效Web框架,帮助企业更容易扩展业务。
    • Banjo : 简单、快速的Go web框架。
    • Beego : beeGo 是一个开源的、高性能的 Go 语言web框架
    • Buffalo : 为Go 语言带来堪比 Rails 的高生产效率
    • Echo : 高性能、极简的 Go语言web 框架
    • Fiber : 受 Express.js启发的 Web 框架,构建在Fasthttp上。
    • Fireball : 更加自然的 web框架
    • Flamingo : 可插拔的web项目框架。包括模块的概念,并提供DI、Configareas、i18n、模板引擎、graphql、可观察性、安全性、事件、路由和反向路由等功能。
    • Flamingo Commerce : 提供电子商务功能,使用简洁的架构,如DDD、端口和适配器,你可以用它来构建灵活的电子商务应用。
    • Gearbox : 用Go编写的网络框架,专注于高性能和内存优化。
    • Gin : Gin 是一个 Go 语言编写的 web 框架,提供了一组类似martiniAPI,且具有更好的性能(40倍的性能提升)。如果你需要高性能和高生产率,这个框架很适合你
    • Ginrpc : Gin参数自动绑定工具,Gin rpc工具。
    • Gizmo : 纽约时报正在使用对微服务工具集
    • go-json-rest : 快速、简单的创建RESTful JSON API.
    • go-rest : Go 语言REST 框架
    • goa : 用于开发微服务的框架,基于RubyPraxis 的设计
    • Golax : 一个非Sinatra的快速HTTP框架,支持Google自定义方法、深度拦截器、递归等。
    • Golf : 快速、简单、轻量级的Go 语言微型 web框架。具有强大的功能且没有标准库以外的依赖
    • Gondola : 用于快速编写高性能网站的框架
    • gongular : 快速 Go web 框架,支持输入映射/验证以及依赖注入
    • goweb : 具有路由、websockets、日志、中间件、静态文件服务器(可选gzip)和自动TLS的Web框架
    • Goyave : 功能完整的Web框架,旨在实现简洁的代码和快速开发,具有强大的内置功能。
    • hiboot : hiboot是一个高性能的web应用框架,支持自动配置和依赖注入。
    • Macaron : Macaron是一个高效的模块化设计的web框架
    • mango : ManGo 是一个模块化web应用框架,受到Rack PEP333 的启发
    • Microservice : 用于创建微服务的框架,使用 Go语言编写
    • neo : 极小且快速的 Go 语言 web 框架,具有及其简单的API
    • patron : Patron是一个遵循最佳云实践的微服务框架,专注于生产力。
    • Resoursea : 用于快速编写基于资源的服务的REST框架。
    • REST Layer : 在数据库之上构建REST/GraphQL API的框架,主要是通过配置而不是代码来进行开发
    • Revel : go语言高生产率框架
    • rex : Rex 是一个用于进行模块化开发的库,基于Gorilla/mux 完全兼容大多数的net/HTTP
    • rux : 用于构建golang HTTP应用程序的简单、快速的web框架。
    • tango : 微型的、支持插件的web框架
    • tigertonic : 受到 Dropwizard 启发,用于构建JSON web服务的 Go语言框架,
    • uAdmin : 受Django启发的Golangweb框架,。
    • utron : 轻量级的go语言 MVC 框架
    • vox : Golang网络框架,灵感来自Koa
    • WebGo : 构建Web应用的微服务框架;具有处理程序链、中间件和上下文注入功能。具有标准库兼容的HTTP处理程序(即http.HandlerFunc)。
    • YARF : 微服务框架,用于快速、简单地构建REST APIs以及 web 服务

    中间件

    中间件

    • client-timing : 在消息头部添加服务器定时信息的HTTP客户端。
    • CORS : 非常方便地向你的api中添加 CORS功能
    • formjson : 以标准的表单POST方式处理JSON输入。
    • go-fault : Go的错误注入中间件。
    • go-server-timing : 向头信息中 添加/解析服务器计时信息。
    • Limiter : 超级简单的限速中间件
    • ln-paywall : Go 中间件,用于通过Lightning Network (Bitcoin) 请求将API 货币化。
    • Tollbooth : HTTP 请求限速中间件
    • XFF : 理X-Forwarded-For头的中间件

    创建http中间件的代码库

    • alice : 创建链式中间件的库
    • catena : HTTP.Handler封装器 (和chain具有相同的 API ).
    • chain : 可以带数据的Handler 链式封装器(net/context-based "middleware").
    • go-wrap : 小型中间件库,用于net/HTTP.
    • gores : 用于处理HTML, JSON, XML 等。对于RESTful APIs 很有用。
    • interpose : 极简的net/HTTP 中间件
    • mediary : 为 http.Client 添加拦截器,允许转储/重构/跟踪/…请求/响应。
    • muxchain : 用于net/HTTP的轻量级中间件
    • negroni : 符合语言习惯的HTTP中间件库
    • render : 用于轻松渲染JSON, XML, 及HTML 模板响应的库
    • renderer : 简单、轻量级和更快的响应JSON、JSONP、XML、YAML、HTML、File的Go渲染包。
    • rye : 小型 Go 语言中间件库 ,支持JWT, CORS, Statsd, 及Go 1.7 context
    • stats : Go语言中间件,用于存储web应用的多种信息

    路由

    • alien : 轻量级、超快速的HTTP 路由,
    • bellt : 一个简单的Go HTTP路由器。
    • Bone : 轻量、快速的HTTP 多路复用器
    • Bxog : 为go语言编写的简单、快速的HTTP路由。它能够根据接收到的参数创建 URL,并且能够解析多种不同复杂度、长度和嵌套的路由。
    • chi : 基于net/context的小巧、快速、具有丰富表达力的HTTP路由.
    • fasthttprouter : 从httprouter分叉出来的高性能路由器,也是第一个适合fasthttp的路由器。
    • FastRouter : 从httprouterfork出来的高性能路由,是第一个适配fasthttp的路由
    • gocraft/web : Mux及中间件包
    • Goji : Goji是一个极简的、灵活的HTTP 请求数据分选器,支持net/context.
    • goroute : 简单而强大的HTTP 请求复用器。
    • GoRouter : server/API微服务框架,具有HTTP 请求路由模块 router模块, 多路复用模块并且提供了支持net/context的中间件 :
    • gowww/router : 超快的HTTP 路由,完全兼容net/HTTP.Handler接口.
    • httprouter : 高性能路由,使用这个库和标准http处理工具可以构建一个非常高性能大web框架
    • httptreemux : 快速,灵活,树状结构的 HTTP路由。受到了 httprouter 的启发
    • lars : 轻量级、快速、可扩展、零分配的HTTP路由,用于创建定制化的框架
    • mux : 强大的URL路由和分发库
    • ozzo-routing : 极快的 Go (golang) HTTP路由器,支持正则表达式路由匹配。完全支持构建RESTful API
    • pure : 是一个轻量级http路由,严格参照net/HTTP标准实现
    • Siesta : 具有可组合性的框架,用于编写中间件和handlers
    • vestigo : 用于构建go语言web应用 ,高性能、符合 HTTP 标准的URL 路由,
    • violetear : Go http路由库
    • xmux : 高性能 muxer,基于 httprouter ,支持 net/context
    • xujiajun/gorouter : 简单快速的go HTTP路由器。

    WebAssembly

    • dom : DOM库
    • go-canvas : 使用HTML5 Canvas 的库,所有的绘图逻辑都在go代码中执行。
    • tinygo : 基于LLVM,适用于微型场景的Go编译器。包括微控制器、WebAssembly和命令行工具。
    • vert : GoJS值之间的互操作。
    • wasmbrowsertest : 在浏览器中运行Go WASM测试。
    • webapi : 从WebIDL生成DOMHTML的封装。

    Windows

    • d3d9 : Direct3D9Go 语言封装
    • go-ole : 为Go语言实现的Win32 OLE
    • gosddl : 从SDDL-string到用户友好的JSON的转换器。SDDL由四个部分组成。Owner、Primary Group、DACL、SACL

    XML

    • XML-Comp : 命令行 XML比较工具,可以生成关于目录、文件和标签对差异信息
    • xml2map : Golang编写的XMLMAP的转换器。
    • xmlwriter : 基于 libxml2xmlwriter 模块的xml生成器api.
    • xpath : XPath
    • xquery : XQuery 使你可以使用XPath表达式从 HTML/XML文档中抽取数据和求值,
    • zek : 从 XML 生成一个 Go结构体。

    相关工具

    go相关工具和插件

    代码分析

    • apicompat : 检测go语言项目最近的变化,用于监测不能向后兼容的代码修改
    • dupl : 用于检测重复代码的工具
    • errcheck : Errcheck是一个用于检测go语言程序中存在未处理错误的程序
    • gcvis : 实时地将Go 语言垃圾回收进行可视化
    • go-checkstyle : checkstyle是一个类似java checkstyle的 代码风格检查工具,这个工具受到java checkstyle Golint 的启发
    • go-cleanarch : Go-cleanarch用于检查代码是否符合简洁架构的相关法则,比如依赖法则以及你的Go语言项目中各个库的交互情况
    • go-critic : 源代码检查器,它带来了目前其他检查器没有实现的检查。
    • go-mod-outdated : 一种查找 Go项目中过时的依赖关系的简单方法。
    • go-outdated : 用于显示过时的库的命令行工具
    • goast-viewer : 基于Web Golang AST 可视化工具.
    • GoCover.io : GoCover.io可以查看任何go语言软件包的代码覆盖率
    • goimports : 用于自动修复,添加,删除你的 Go 语言项目的 import
    • golines : 自动缩短 Go 代码中长行的格式化器。
    • GoLint : 针对 Go 语言源码的 lint 工具
    • Golint online : 使用golintGitHub, Bitbucket 以及 Google Project Hosting上面的Go语言源文件进行静态分析
    • GoPlantUML : 生成文本plantUML图的库和CLI,包含结构和接口的信息以及它们之间的关系。
    • goreturns : 添加零值return 语句以符合函数返回值类型
    • gosimple : 针对 Go 语言的lint工具,专注于简化代码
    • gostatus : 命令行工具,查看当前 Go 语言软件包仓库的状态
    • lint : 运行linters作为Go测试的一部分。
    • php-parser : Go编写的PHP解析器。
    • staticcheck : -staticcheckGo vet阶段中执行大量的静态分析检查,类似ReSharper for C#这样的工具。
    • tarp : tarp可以在 Go源代码中找到无需直接单元测试的函数和方法
    • tickgit : 用于显示代码注释TODO(任何语言)的CLI和go包,并应用git blam来识别作者
    • unconvert : 从go语言代码中移除不必要的类型转换
    • unused : unused会检查 Go 语言代码中没有用到的常量,变量,函数和类型
    • validate : 根据结构体tag自动验证结构体字段

    编辑器插件

    • Go plugin for JetBrains IDEs :JetBrains IDEs 使用的Go语言插件
    • go-language-server : 用于将 VSCode go 扩展变为支持语言服务器协议的GO代码封装库
    • go-mode : GNU/EmacsGo语言模式
    • go-plus : 供Atom 使用的自动补全、格式化、语法检查、lintVetting 的软件包
    • gocode : go语言自动补全
    • goimports-reviser : 用于导入的格式化工具。
    • goprofiling : 这个扩展为 VS Code增加了对 Go语言的基准分析支持。
    • GoSublime : SublimeText 2 使用的 Go 语言插件,支持代码补全以及一些类似 IDE 的特性
    • gounit-vim : Vim插件,用于根据函数或方法的签名生成Go测试。
    • theia-go-extension : 为Theia IDE提供Go语言支持。
    • vim-compiler-go : Vim插件,在保存时高亮语法错误
    • vim-go : Vim使用的Go 语言开发插件
    • vscode-go : Visual Studio Code (VS Code) : 使用的一个扩展,为 Go 语言提供了支持
    • Watch : 当文件变动时,在 acme窗口中执行命令

    Go 代码生成工具

    • generic : 针对Go的灵活数据类型。
    • genny : 为 Go提供优雅的泛型。
    • gocontracts : 通过同步代码和文档,将按合约设计引入 Go
    • gonerics : Go泛型。
    • gotests : 根据源代码生成Go测试代码。
    • gounit : 使用你自己的模板生成Go 测试代码。
    • hasgo : 为slices生成Haskell的启发函数。
    • re2dfa : 将正则表达式转换为有限状态机并输出Go源代码。
    • TOML-to-Go : 在浏览器中将 TOML转成 Go 类型。
    • xgen : XSD (XML Schema Definition) 解析器,能够生成Go/C/Java/Rust/Typescript代码

    Go 工具

    • colorgo : 对 Go 命令进行了封装,用于为Go build的输出结果添加颜色
    • depth : 通过分析导入的库,将某个包的依赖关系用树状结构进行显示
    • gb : 针对Go语言的项目的构建工具,
    • generator-go-lang : 生成Yeoman : 新项目的生成器 。
    • gilbert : Go项目的构建系统和任务运行器。
    • go-callvis : 使用dot语言将你的 Go 语言程序函数调用关系可视化
    • go-james : Go项目骨架创建服务,无需手动设置即可构建和测试你的项目。
    • go-pkg-complete : Bash代码补全,用于GowGo.
    • go-swagger : 为 Go 语言实现的Swagger 2.0.
    • godbg : Rusts dbg!宏的实现,用于在开发过程中进行快速和简单的调试。
    • gomodrun : 用于执行和缓存包含在go.mod文件中的二进制文件的Go工具。
    • gothanks : GoThanks 会自动为你的go.mod github依赖项加星。
    • igo : igogo的转换器(Go语言的新语言特性!)。
    • OctoLinker : - 使用github 的浏览器插件 OctoLinker高效浏览Go 语言文件
    • richgo : 用文本装饰丰富go代码测试输出。
    • rts : RTS(是response to struct的缩写)用于根据服务器的响应生成 Go语言结构体
    • typex : 检查Go类型和它们的转换依赖关系,或者将结果导出为TypeScript值对象(或类型)声明。

    软件包

    Go语言开发的软件工具

    devops 工具

    • aptly : aptly是一个 Debian库管理工具
    • aurora : 跨平台、基于web的 Beanstalkd队列服务器控制台
    • awsenv : 加载Amazon (AWS) 环境变量作为 profile文件
    • Blast : 一个简单的API负载测试和批量作业管理的工具。
    • bombardier : 快速的、跨平台的HTTP基准工具.
    • bosun : 基于时间序列的告警框架
    • cassowary : 用Go编写的现代跨平台HTTP负载测试工具。
    • DepCharge : 帮助管理大型项目中众多依赖关系的命令。
    • Dockerfile-Generator : 包含go代码库和可执行文件,其可以利用各种输入管道信息生成有效的Dockerfiles。
    • dogo : 监控源文件中的变化并自动编译和执行
    • drone-jenkins : 可以通过二进制文件、 docker或者 Drone CI来触发下游Jenkins 任务,
    • drone-scp : 通过 SSH 拷贝文件及可执行程序,可以通过二进制文件、 docker 或者Drone CI来使用
    • Dropship : 通过 cdn部署代码的工具
    • easyssh-proxy : 一个用于通过 ssh 远程执行命令以及可通过ProxyCommand 来进行 SCP 下载
    • fac : 用于修复git合并冲突的命令行用户界面。
    • gaia : 利用任何编程语言都可以构建强大的管道的库。
    • Gitea : 社区驱动的Gogsfork
    • gitea-github-migrator : 将所有的` GitHub 仓库、问题、里程碑和标签迁移到 Gitea 实例中。
    • go-furnace : 用Go编写的托管解决方案。在AWS、GCPDigitalOcean上轻松部署你的应用程序。
    • go-selfupdate : 让你的 Go 语言程序可以自我更新
    • gobrew : Gobrew让你可以在不同版本的 Go 语言之间轻松切换
    • godbg : 基于Web 的前端 gdb 应用程序
    • Gogs : 自我托管的Git服务
    • gonative : 为Go 语言创建可以在多平台进行交叉编译的工具,使用CGo-enabled标准库
    • govvv : 对Go build进行了封装,用于轻松的向 Go 语言二进制文件中添加版本信息
    • gox : 非常简单的Go语言交叉编译工具
    • goxc : Go 语言构建工具,专注于交叉编译和打包
    • grapes : 一款轻量级工具,用于通过 ssh发送命令
    • GVM : GVM提供了用于管理Go语言版本的接口
    • Hey : Hey是一个微型程序,用于向web 应用发送负载
    • jcli : Jenkins CLI允许你以一种简单的方式管理你的Jenkins
    • kala : 极简、现代的、高效的任务调度
    • kcli : 用于检查kafka主题/分区/消息的命令行工具。
    • kubernetes : 来自Google的容器集群管理器
    • lstags : 在不同的注册表中同步Docker镜像的工具和API
    • lwc : UNIX wc命令的实时更新版本。
    • manssh : manssh是一个命令行工具,用于轻松管理ssh别名配置。
    • Moby : 为容器生态系统创建的一个合作项目,用于构建基于容器的系统
    • Mora : REST 服务器,用于获取MonGoDB文件和元数据
    • ostent : 收集并显示系统数据,可以作 Graphite和/或InfluxDB 的中间件
    • Packer : Packer通过单一的配置文件,为不同的平台创建独立镜像
    • Pewpew : 灵活的HTTP命令行压力测试工具
    • Pomerium : Pomerium是一个身份感知的访问代理。
    • Rodent : Rodent 帮助你管理 Go语言版本、项目、和追踪依赖
    • s3-proxy : S3代理,具有GET、PUTDELETE方法和认证(OpenID ConnectBasic Auth)。
    • s3gof3r : 为了从Amazon S3中高速存取大型对象而特别优化的库
    • s5cmd : 快速的 S3 和本地文件系统执行工具。
    • Scaleway-cli : 通过命令行来管理 裸金属服务器 (和使用Docker一样容易)。
    • script : 在Go中轻松编写类似shell的脚本,用于DevOps和系统管理任务。
    • sg : 对一组HTTP 钩子(如ab)进行基准测试,可以使用每次调用之间的响应代码和数据,根据其之前的响应来确定特定的服务器压力。
    • skm : SKM是一个简单而强大的SSH密钥管理器,它可以帮助您轻松管理您的多个SSH密钥。
    • StatusOK : 监控你的网站和 REST APIs。如果你的服务器挂了或是响应时间超过预期,则会通过Slack,E-mail来通知你
    • terraform-provider-openapi : Terraform provider插件,可以在运行时根据包含API定义的OpenAPI文档(以前称为swagger文件)动态配置自己。
    • traefik : 能对接多个后端的反向代理和负载均衡器。
    • trubka : CLI工具,用于管理Apache Kafka集群并排除其故障,能够向Kafka发布/消费协议缓冲区和纯文本事件。
    • uTask : 自动化引擎,可对yaml中声明的业务流程进行建模和执行。
    • Vegeta : HTTP 加载测试工具和代码库
    • webhook : 允许用户创建HTTP钩子,并在服务器上执行命令
    • Wide : 基于 Web IDE,为使用 Go语言的团队设计
    • winrm-cli : 命令行工具,可以远程在 windows机器上执行命令

    其他软件库和软件包

    • Better Go Playground : 具有语法高亮、代码补全等功能的playground
    • borg : 基于终端的搜索引擎,用于搜索 bash代码片段
    • boxed : 基于Dropbox的博客引擎
    • Cherry : Go语言实现的一个微型网络聊天服务器
    • Circuit : Circuit是一个可编程的PaaS以及IaaS,用于管理、发现以及编排各种云端应用的服务及主机
    • Comcast : 模拟网络波动情况下的网络数据连接
    • confd : 使用etcd consul来管理本地应用的配置文件
    • croc : 轻松安全地将文件或文件夹从一台计算机发送到另一台计算机。
    • Docker : 一个为开发者和系统管理员提供的针对分布式应用的开源平台
    • Documize : 维基软件,可以使用SaaS工具提供的数据
    • dp : 与区块链进行数据交换的SDK,开发者可以轻松进行DAPP的开发。
    • drive : 命令行版本的Google Drive客户端。
    • Duplicacy : 跨平台网络和云备份工具
    • Gebug : - 一个通过启用Debugger和热加载功能,让Docker容器化后的Go应用调试变得超级简单。
    • gfile : 无需任何第三方工具通过WebRTC在两台电脑之间安全传输文件。
    • Go Package Store : 一个可以显示你的GoPATH 路径下Go软件包的应用
    • go-peerflix : 视频流下载客户端。
    • GoBoy : 用Go编写的任天堂游戏机颜色模拟器。
    • gocc : Go语言编写的Go语言编译器工具集
    • GoDocTooltip : 用来显示go语言文档的chrome浏览器插件
    • GoLand : 跨平台、全功能Go 语言集成开发环境
    • Gor : Http 流量复制工具,用于将生产环境的流量在开发环境进行重放
    • Guora : 一个用Go编写的类似于Quora的问答网络应用。
    • hugo : - 快速、现代的静态web引擎
    • ide : 为Go语言设计可以在浏览器的IDE
    • ipe : Go语言编写的开源Pusher服务器,兼容 Pusher客户端。
    • joincap : 用于合并多个pcap文件的命令行工具。
    • Juju : 服务部署及编排工具,支持EC2,Azure,Openstack,MAAS 等等
    • Leaps : 结对编程服务,使用操作变换来避免冲突。
    • lgo : 使用Jupyter进行交互式编程。它支持代码补全、代码检查,100%兼容Go
    • limetext : Lime Text 是一个强大又优雅的编辑器,主要使用Go 语言开发,意在成为Sublime Text的继承者。
    • LiteIDE : LiteIDE 是一个简单、开源、跨平台的 Go语言 IDE
    • mockingjay : 伪HTTP服务器,通过单一配置文件构造访问请求。同时你还可以让服务器提升负载,以进行更加符合现实情况的性能测试
    • myLG :Go语言编写的命令行网络诊断工具
    • naclpipe : 简单的基于NaCL EC25519 的加密管道工具
    • nes : Go 语言编写的任天堂(NES)模拟器
    • orange-cat : Go语言编写的 Markdown预览工具
    • Orbit : 运行命令和从模板生成文件的简单工具。
    • peg : Peg(Parsing Expression Grammar)是一个Packrat parser generator的实现
    • restic : 解耦备份程序
    • scc : 一个非常快速准确的代码计数器,具有复杂度计算和COCOMO估计功能。
    • Seaweed File System : 快速、简单、可扩展的分布式文件系统,具有O(1)的磁盘查找效率
    • shell2http : 通过HTTP服务器执行shell命令行(用于原型验证或远程控制)。
    • snap : 强大的遥测框架
    • Snitch : 当通过Tsuru部署应用程序时,可以简单快速的通知团队的工具
    • Stack Up : Stack Up是一个超级简单的开发工具,就好比是服务器网络的make工具
    • syncthing : 开源、去中心化的文件同步工具和协议
    • tcpprobe : -TCP工具,用于网络性能和路径监控,包括套接字统计等。
    • term-quiz : 终端测试库。
    • toxiproxy : 用于自动化测试中模拟网络和系统状态的代理服务。
    • tsuru : 可扩展的、开源的SAAS 软件
    • vaku : 为Vault中基于文件夹的功能如复制、移动和搜索提供CLIAPI
    • vFlow : 高性能、可扩展、可靠的IPFIX,sFlowNetflow集合.
    • wellington : Sass项目管理工具, 通过支持一些功能(例如Compass)扩展了这门语言
    • woke : 检测源代码中的排他性代码段。

    END 链接


    1

    评论区