Go

Awesome Go

Build Status Awesome Slack Widget Netlify Status

[patreon avelino](https://www.patreon.com/avelinosource)对Awesome Go的财务支持

精选的Go框架,库和软件的精选清单. 受启发 awesome-python.

Contributing

请快速浏览一下 contribution guidelines 第一. 谢谢大家 contributors ; 你摇滚!

If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!

Audio and Music

*用于处理音频的库.

  • EasyMIDI -EasyMidi是一个简单可靠的库,用于处理标准Midi文件(SMF).
  • flac -支持FLAC流的Native Go FLAC编码器/解码器.
  • gaad -本地Go AAC比特流解析器.
  • go-sox -libsox绑定进行.
  • go_mediainfo -go的libmediainfo绑定.
  • gosamplerate -libsamplerate绑定进行.
  • id3v2 -用于Go的快速,稳定的ID3解析和编写库.
  • malgo -迷你音频库.
  • minimp3 -轻巧的MP3解码器库.
  • mix -用于音乐应用程序的基于序列的Go-native音频混合器.
  • mp3 -本机Go MP3解码器.
  • music-theory -Go中的音乐理论模型.
  • Oto -一个低级库,可在多个平台上播放声音.
  • PortAudio -绑定PortAudio音频I / O库.
  • portmidi -绑定PortMidi.
  • taglib -为taglib绑定.
  • vorbis -“本机” Go Vorbis解码器(使用CGO,但没有依赖项).
  • waveform -Go软件包能够从音频流生成波形图像.

Authentication and OAuth

用于实施身份验证方案的库.

  • authboss -用于网络的模块化身份验证系统. 它尝试删除尽可能多的样板文件和“硬东西”,以便每次在Go中启动新的Web项目时,都可以将其插入,配置并开始构建应用程序,而不必每次都构建身份验证系统.
  • branca - Golang实施布兰卡令牌.
  • casbin -支持访问控制模型(如ACL,RBAC,ABAC)的授权库.
  • cookiestxt -提供cookies.txt文件格式的解析器.
  • go-jose -完全完成JOSE工作组的JSON Web令牌,JSON Web签名和JSON Web加密规范的实现.
  • go-oauth2-server -使用Golang编写的独立,符合规范的OAuth2服务器.
  • gologin -用于使用OAuth1和OAuth2身份验证提供程序登录的可链接处理程序.
  • gorbac -在Golang中提供了基于角色的轻量级访问控制(RBAC)实现.
  • goth -提供了一种简单,干净且惯用的方式来使用OAuth和OAuth2. 开箱即用地处理多个提供程序.
  • httpauth -HTTP身份验证中间件.
  • jeff -具有可插拔后端的简单,灵活,安全和惯用的Web会话管理.
  • jwt -JSON Web令牌(JWT)的清洁易用实现.
  • jwt -轻量级JSON Web令牌(JWT)库.
  • jwt-auth -用于Golang http服务器的JWT中间件,具有许多配置选项.
  • jwt-go - Golang实现JSON网络令牌(JWT)的.
  • loginsrv -具有可插入后端的JWT登录微服务,例如OAuth2(Github),htpasswd,osiam.
  • oauth2 -goauth2的后继者. JWT,Google API,Compute Engine和App Engine支持随附的通用OAuth 2.0程序包.
  • osin - Golang了OAuth2服务器库.
  • paseto -与平台无关的安全令牌(PASETO)的Golang实现.
  • permissions2 -用于跟踪用户,登录状态和权限的库. 使用安全的cookie和bcrypt.
  • rbac -用于Go应用程序的简约RBAC软件包.
  • scope -在Go中轻松管理OAuth2范围.
  • scs -HTTP服务器的会话管理器.
  • securecookie -高效的安全Cookie编码/解码.
  • session -Web服务器的Go会话管理(包括对Google App Engine-GAE的支持).
  • sessiongate-go - Go session management using the SessionGate Redis module.
  • sessions -用于go http服务器的简单,高性能,高度可定制的会话服务.
  • sessionup -简单而有效的HTTP会话管理和标识包.
  • signedvalue -签名并带有时间戳记的字符串与 Tornado's “ create_signed_value”,“ decode_signed_value”以及“ set_secure_cookie”和“ get_secure_cookie”.
  • sjwt -简单的jwt生成器和解析器.

Bot Building

用于构建和使用机器人的库.

  • go-chat-bot -用Go编写的IRC,Slack和Telegram机器人.
  • go-sarah -为所需的聊天服务(包括LINE,Slack,Gitter等)构建机器人的框架.
  • go-tgbot -从swagger文件,基于会话的路由器和中间件生成的纯Golang Telegram Bot API包装器.
  • Golang CryptoTrading Bot -基于控制台的交易机器人的golang实现,用于进行加密货币交换.
  • govkbot -简单的去 VK bot库.
  • hanu -编写Slack机器人的框架.
  • Kelp -官方交易和做市机器人 Stellar 敏捷 开箱即用,用Golang编写,可与集中交易和自定义交易策略兼容.
  • margelet -构建Telegram机器人的框架.
  • micha -为电报bot API进入库.
  • slacker -易于使用的框架来创建Slack机器人.
  • slackscot -用于构建Slack机器人的另一个框架.
  • tbot -具有类似于net / http的API的Telegram bot服务器.
  • telebot -用Go编写的Telegram机器人框架.
  • telegram-bot-api -简单干净的Telegram机器人客户端.
  • Tenyks -使用Redis和JSON进行消息传递的面向服务的IRC机器人.

Command Line

Standard CLI

*用于构建标准或基本命令行应用程序的库.

  • 1build -命令行工具,可轻松管理特定于项目的命令.
  • argparse -受Python的argparse模块启发的命令行参数解析器.
  • argv -使用bash语法转到库以将命令行字符串拆分为参数数组.
  • cli -基于golang struct标签的功能丰富且易于使用的命令行包.
  • cli -用于在Go中构建命令行界面的简单而完整的API.
  • cli-init -开始构建Golang命令行应用程序的简单方法.
  • climax -按照Go命令的精神,具有“人脸”功能的替代CLI.
  • cmdr -POSIX / GNU样式,类似于getopt的命令行UI Go库.
  • cobra -用于现代Go CLI交互的指挥官.
  • commandeer -开发友好的CLI应用程序:根据结构字段和标签设置标志,默认值和用法.
  • complete -在Go + Go命令bash完成中编写bash完成.
  • Dnote -开发人员使用的简单,端到端加密笔记本.
  • docopt.go -命令行参数解析器,将使您微笑.
  • env -基于标记的环境配置.
  • flag -Go支持子命令的简单但功能强大的命令行选项解析库.
  • flaggy -强大而惯用的标志包,具有出色的子命令支持.
  • flagvar -Go的标准flag包的标志参数类型的集合.
  • go-arg -Go中基于结构的参数解析.
  • go-commander -转到库以简化CLI工作流程.
  • go-flags -转到命令行选项解析器.
  • go-getoptions -Go选项解析器启发了Perl的GetOpt :: Long的灵活性.
  • gocmd -用于构建命令行应用程序的库.
  • hiboot cli -具有自动配置和依赖项注入的cli应用程序框架.
  • job -工作,将您的短期命令作为一项长期工作.
  • kingpin -命令行和标志解析器支持子命令.
  • liner -使用类似命令行的readline库.
  • mitchellh/cli -用于实现命令行界面的Go库.
  • mow.cli -用于通过复杂的标志和参数解析和验证来构建CLI应用程序的库.
  • ops -Unikernel生成器/协调器.
  • pflag -替换Go的标志包,实现POSIX / GNU样式的--flags.
  • readline -纯粹的golang实现,在MIT许可下提供GNU-Readline中的大多数功能.
  • sand -用于创建解释器的简单API等.
  • sflags -基于结构的标志生成器,用于标志,urfave / cli,pflag,眼镜蛇,主销和其他库.
  • strumt -库创建提示链.
  • ts -时间戳转换和比较工具.
  • ukautz/clif -小型命令行界面框架.
  • urfave/cli -简单,快速且有趣的软件包,用于在Go中构建命令行应用程序(以前称为codegangsta / cli).
  • wlog -支持跨平台颜色和并发性的简单日志记录界面.
  • wmenu -cli应用程序易于使用的菜单结构,提示用户做出选择.

Advanced Console UIs

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

  • asciigraph -转到软件包,以在命令行应用程序中制作轻量级的ASCII线图line,而没有其他依赖项.
  • aurora -支持fmt.Printf / Sprintf的ANSI终端颜色.
  • cfmt -受自举颜色类启发的内容相关的fmt.
  • chalk -直观的软件包,用于美化终端/控制台输出.
  • colourize -在终端中转到ANSI颜色文本的库.
  • ctc -非侵入性跨平台终端颜色库不需要修改Print方法.
  • go-ataman -用于在终端中呈现ANSI彩色文本模板的库.
  • go-colorable -Windows的彩色书写器.
  • go-colortext - Go library for color output in terminals.
  • go-isatty - isatty为golang.
  • go-prompt - Library for building a powerful interactive prompt, inspired by python-prompt-toolkit.
  • gocui -极简主义Go库,旨在创建控制台用户界面.
  • gommon/color -样式终端文字.
  • gookit/color -终端色彩渲染工具库,支持16色,256色,RGB色彩渲染输出,与Windows兼容.
  • mpb -终端应用程序的多进度条.
  • progressbar -适用于每个操作系统的基本线程安全进度条.
  • simpletable -使用Go在终端中创建简单表.
  • tabby -超级简单的Golang表的小型库.
  • tabular -从命令行实用程序中打印ASCII表,而无需将大量数据传递给API.
  • termbox-go -Termbox是一个用于创建跨平台基于文本的界面的库.
  • termdash -基于 termbox-go 并受灵感启发的终端仪表板 termui.
  • termtables -转到Ruby库的端口 terminal-tables 用于简单的ASCII表生成以及提供markdown和HTML输出.
  • termui -基于 termbox-go 并受灵感启发的终端仪表板 blessed-contrib.
  • uilive -用于实时更新终端输出的库.
  • uiprogress -灵活的库,可在终端应用程序中呈现进度条.
  • uitable -利用表格数据提高终端应用程序可读性的库.

Configuration

用于配置解析的库.

  • config -Go项目的轻量级功能强大的配置包.
  • config -云原生应用程序配置. 仅两行将ENV绑定到结构.
  • config -带有环境变量和标志解析的JSON或YAML配置包装器.
  • configure -通过多个来源提供配置,包括JSON,标志和环境变量.
  • confita -将配置从多个后端级联加载到结构中.
  • conflate -用于合并来自任意URL的多个JSON / YAML / TOML文件,针对JSON模式进行验证以及应用模式中定义的默认值的库/工具.
  • env -将环境变量解析为Go结构(具有默认值).
  • envcfg -将环境变量取消编组为Go结构.
  • envconf -从环境配置.
  • envconfig -从环境变量中读取您的配置.
  • envh -帮助者管理环境变量.
  • gcfg -将INI样式的配置文件读取到Go结构中; 支持用户定义的类型和子节.
  • genv -通过dotenv支持轻松读取环境变量.
  • go-up -具有递归占位符解析度且没有魔术的简单配置库.
  • goConfig -解析一个结构作为输入,并使用来自命令行,环境变量和配置文件的参数填充该结构的字段.
  • godotenv -转到Ruby的dotenv库的端口(从.env加载环境变量).
  • gofigure -轻松进行应用程序配置.
  • gone/jconf -模块化JSON配置. 在不牺牲完整的配置序列化的情况下,使您的配置结构以及它们配置的代码以及将解析委派给子模块的过程.
  • gookit/config -应用程序配置管理(加载,获取,设置). 支持JSON,YAML,TOML,INI,HCL. 多文件加载,数据覆盖合并.
  • harvester -Harvester,一个易于使用的静态和动态配置包,支持ig播种,env vars和Consul集成.
  • hjson -Human JSON,人类的配置文件格式. 轻松的语法,更少的错误,更多的注释.
  • ingo -标志保留在类似ini的配置文件中.
  • ini -转到软件包以读取和写入INI文件.
  • joshbetz/config -Go的小型配置库,可解析环境变量,JSON文件,并在SIGHUP上自动重新加载.
  • kelseyhightower/envconfig -Go库,用于管理环境变量中的配置数据.
  • koanf -轻巧,可扩展的库,用于在Go应用程序中读取配置. 内置对JSON,TOML,YAML,env,命令行的支持.
  • konfig -在分布式处理时代,Go的可组合,可观察和高性能配置处理.
  • mini - Golang包解析这种风格的配置文件.
  • nasermirzaei89/env -用于读取环境变量的简单有用的程序包.
  • onion -Go的基于层的配置,支持JSON,TOML,YAML,属性,etcd,env和使用PGP加密.
  • sprbox -可识别构建环境的工具箱工厂和不可知的配置解析器(YAML,TOML,JSON和环境变量).
  • store -Go的轻量级配置管理器.
  • viper -使用毒牙进行配置.
  • xdg -遵循以下内容的跨平台软件包 XDG Standard.

Continuous Integration

持续集成帮助工具.

  • drone -Drone是一个基于Go编写的基于Docker的持续集成平台.
  • duci -简单的CI服务器无需域特定语言.
  • gomason -在干净的工作区中测试,构建,签名和发布go二进制文件.
  • goveralls -整合Coverovers.io连续代码覆盖率跟踪系统.
  • overalls -多包goover项目Coverprofile,用于管理工具.
  • roveralls - Recursive coverage testing tool.

CSS Preprocessors

用于预处理CSS文件的库.

  • gcss -Pure Go CSS预处理器.
  • go-libsass -包装到100%Sass兼容的libsass项目.

Data Structures

  • Go中的通用数据结构和算法.

  • algorithms -算法和数据结构.CLRS研究.

  • binpacker -二进制打包程序和解包程序可帮助用户构建自定义二进制流.
  • bit -Golang设置数据结构,具有额外的位旋转功能.
  • bitset -打包实现位集的软件包.
  • bloom -Go中实现的Bloom过滤器.
  • bloom - Golang布隆过滤器实现.
  • boomfilters -用于处理连续无界流的概率数据结构.
  • concurrent-writer -高度并发地替换bufio.Writer.
  • conjungo -小型,强大而灵活的合并库.
  • count-min-log -实施Count-Min-Log草图:使用近似计数器进行近似计数(类似于Count-Min草图,但使用较少的内存).
  • crunch -Go包实现了用于轻松处理各种数据类型的缓冲区.
  • cuckoofilter -布谷鸟过滤器:Go中实现的计数布隆过滤器的一个很好的选择.
  • deque -高度优化的双端队列.
  • deque -快速的环形缓冲区双端队列(双端队列).
  • dict -Go的类Python字典(dict).
  • encoding -用于Go的整数压缩库.
  • go-adaptive-radix-tree -实施自适应基数树.
  • go-datastructures -收集有用的,高性能的和线程安全的数据结构.
  • go-ef -Elias-Fano编码的Go实现.
  • go-geoindex -内存地理索引.
  • go-mcache -快速的内存键:值存储/缓存库. 指针缓存.
  • go-rquad -具有有效点定位和邻居发现功能的区域四叉树.
  • gocache -完整的Go缓存库,具有多个存储(内存,memcache,redis等),可链接,可加载,指标缓存等.
  • goconcurrentqueue -并发FIFO队列.
  • gods -去数据结构. 容器,集合,列表,堆栈,地图,BidiMap,树,HashSet等.
  • gofal -Go的小数api.
  • golang-set -Go的线程安全和非线程安全高性能集.
  • goset -Go的有用的Set集合实现.
  • goskiplist -在Go中跳过列表实施.
  • gota -实现Go的数据框,序列和数据整理方法.
  • hide -ID类型与进/出哈希进行编组,以防止将ID发送给客户端.
  • hilbert -Go软件包,用于在空间填充曲线(例如希尔伯特曲线和Peano曲线)之间来回映射值.
  • hyperloglog -HyperLogLog实施,具有稀疏,LogLog-Beta偏差校正和TailCut空间减少功能.
  • levenshtein -Levenshtein距离和相似性指标,带有可自定义的编辑费用和通用前缀类似Winkler的奖金.
  • levenshtein -在Go中计算levenshtein距离的实现.
  • mafsa -具有最小完美哈希的MA-FSA实现.
  • mspm -用于信息检索的多字符串模式匹配算法.
  • null -可与JSON编组/解组的Nullable Go类型.
  • parsefields -用于解析类似JSON的日志以收集唯一字段和事件的工具.
  • pipeline -具有扇入和扇出的管道实施.
  • ptrie -前缀树的实现.
  • remember-go -用于缓存数据(redis,内存,memcached等)的通用接口.
  • ring -实施高性能,线程安全的布隆过滤器.
  • roaring -实施压缩位集的软件包.
  • set -使用LinkedHashMap在Go中简单设置数据结构.
  • skiplist -非常快的Go Skiplist实施.
  • skiplist -Go中的Skiplist实现.
  • timedmap -具有过期的键/值对的地图.
  • treap -使用树堆的持久,快速排序的地图.
  • trie -在Go中实现Trie.
  • ttlcache -内存中的LRU string-interface {}映射,其中包含golang的到期时间.
  • typ -空类型,安全原始类型转换和从复杂结构中获取值.
  • willf/bloom -实施Bloom过滤器的软件包.

Database

*在Go中实现的数据库.

  • badger -在Go中快速存储键值.
  • bcache -最终一致的分布式内存缓存Go库.
  • BigCache -高效的键/值缓存,用于千兆字节的数据.
  • Bitcask -Bitcask是使用纯Go编写的可嵌入,持久且快速的键值(KV)数据库,由于使用了bitcask磁盘布局(LSM + WAL),因此具有可预测的读/写性能,低延迟和高吞吐量.
  • bolt -Go的低级键/值数据库.
  • buntdb -Go的快速,可嵌入的内存中键/值数据库,具有自定义索引和空间支持.
  • cache -内存中键:具有到期时间,0个依存关系,<100 LoC,100%覆盖率的值存储.
  • cache2go -内存键:值缓存,支持基于超时的自动失效.
  • clusteredBigCache -具有集群支持和单个项目到期的BigCache.
  • cockroach -可扩展,地理复制,事务性数据存储.
  • Coffer -支持交易的简单ACID键值数据库.
  • couchcache -由Couchbase服务器支持的RESTful缓存微服务.
  • CovenantSQL -CovenantSQL是区块链上的SQL数据库.
  • dgraph -可扩展,分布式,低延迟,高吞吐量图形数据库.
  • diskv -本地磁盘支持的键值存储.
  • eliasdb -具有REST API,短语搜索和类似SQL的查询语言的无依赖关系的事务图数据库.
  • fastcache -大量条目的快速线程安全内存缓存. 最大限度地减少GC开销.
  • GCache -缓存库,支持过期的缓存,LFU,LRU和ARC.
  • go-cache -用于Go的内存中键:值存储/缓存(类似于Memcached)库,适用于单机应用程序.
  • goleveldb -实施 LevelDB Go中的键/值数据库.
  • gorocksdb -Gorocksdb是一个包装器 RocksDB 用Go编写.
  • groupcache -Groupcache是​​一个缓存和缓存填充库,在许多情况下可以替代memcached.
  • influxdb -可扩展的数据存储区,用于指标,事件和实时分析.
  • Kivik -Kivik为CouchDB,PouchDB和类似数据库提供了通用的Go和GopherJS客户端库.
  • ledisdb -Ledisdb是基于LevelDB的Redis之类的高性能NoSQL.
  • levigo -Levigo是LevelDB的Go包装器.
  • moss -Moss是用100%Go编写的简单LSM键值存储引擎.
  • nutsdb -Nutsdb是用纯Go编写的简单,快速,可嵌入的持久键/值存储. 它支持完全可序列化的事务和许多数据结构,例如列表,集合,排序集合.
  • piladb -基于堆栈数据结构的轻量级RESTful数据库引擎.
  • prometheus -监控系统和时间序列数据库.
  • pudge -使用Go的标准库编写的快速简单的键/值存储.
  • rqlite -建立在SQLite上的轻型,分布式,关系数据库.
  • Scribble -小型平面文件JSON存储.
  • slowpoke -具有持久性的键值存储.
  • tempdb -临时项目的键值存储.
  • tidb -TiDB是分布式SQL数据库. 受到Google F1设计的启发.
  • tiedot -由Golang提供支持的NoSQL数据库.
  • Vasto -分布式高性能键值存储. 在磁盘上. 最终一致. 哈. 能够增长或收缩而不会中断服务.
  • VictoriaMetrics -快速,资源有效且可扩展的开源时间序列数据库. 可用作Prometheus的长期远程存储. 支持PromQL.

数据库架构迁移.

  • avro -发现SQL模式并将其转换为AVRO模式. 将SQL记录查询为AVRO字节.
  • darwin -Go的数据库架构演化库.
  • go-fixtures - Django style fixtures for Golang's excellent built-in database/sql library.
  • go-pg-migrations -Go包,可帮助编写go-pg / pg的迁移文件.
  • gondolier -使用结构修饰符的数据库迁移库.
  • goose -数据库迁移工具. 您可以通过创建增量SQL或Go脚本来管理数据库的演变.
  • gormigrate -数据库架构迁移有助于Gorm ORM.
  • migrate - 数据库迁移. CLI和Golang库.
  • migrator -死掉的简单的Go数据库迁移库.
  • pravasan -简单迁移工具-目前适用于MySQL,但计划很快支持Postgres,SQLite,MongoDB等.
  • schema -用于在Go二进制文件中嵌入数据库/ sql兼容数据库的架构迁移的库.
  • skeema -适用于MySQL的Pure-SQL模式管理系统,支持分片和外部在线模式更改工具.
  • soda -MySQL,PostgreSQL和SQLite的数据库迁移,创建,ORM等.
  • sql-migrate -数据库迁移工具. 允许使用go-bindata将迁移嵌入到应用程序中.

数据库工具

  • bucket -针对Couchbase的优化数据结构框架,专门用于一个存储桶.
  • chproxy -ClickHouse数据库的HTTP代理.
  • clickhouse-bulk -收集小信息并将大请求发送到ClickHouse服务器.
  • datagen -快速的数据生成器,支持多表并支持多行DML.
  • dbbench -数据库基准测试工具,支持多个数据库和脚本.
  • go-mysql -使用工具集来处理MySQL协议和复制.
  • go-mysql-elasticsearch -将您的MySQL数据自动同步到Elasticsearch.
  • kingshard -kingshard是由Golang支持的MySQL的高性能代理.
  • myreplication -MySql二进制日志复制侦听器. 支持基于语句和行的复制.
  • octillery -用于分片数据库的Go软件包(支持每个ORM或原始SQL).
  • orchestrator -MySQL复制拓扑管理器和可视化器.
  • pgweb -基于Web的PostgreSQL数据库浏览器.
  • prep -使用准备好的SQL语句而不更改代码.
  • pREST -从任何PostgreSQL数据库提供RESTful API.
  • rwdb -rwdb为多个数据库服务器设置提供了只读副本功能.
  • vitess -vitess提供了有助于大规模数据库服务扩展MySQL数据库的服务器和工具.

  • SQL查询生成器,用于构建和使用SQL的库.*

  • dbq -Go的零样本数据库操作.

  • Dotsql -Go库可帮助您将sql文件保存在一个位置,并轻松使用它们.
  • gendry -非侵入式SQL构建器和强大的数据绑定器.
  • godbal -数据库抽象层(dbal). 支持SQL Builder,轻松获得结果.
  • goqu -惯用的SQL构建器和查询库.
  • igor -PostgreSQL的抽象层,支持高级功能并使用类似于gorm的语法.
  • jet -在Go中编写类型安全的SQL查询的框架,能够轻松将数据库查询结果转换为所需的任意对象结构.
  • ormlite -轻量级软件包,其中包含一些类似于ORM的功能和sqlite数据库的帮助程序.
  • ozzo-dbx -强大的数据检索方法以及与数据库无关的查询构建功能.
  • scaneo -生成Go代码以将数据库行转换为任意结构.
  • sqlf -快速的SQL查询生成器.
  • sqrl -SQL查询生成器,Squirrel的分支,具有改进的性能.
  • Squalus -Go SQL包上的薄层,使执行查询变得更加容易.
  • Squirrel -Go库可帮助您构建SQL查询.
  • xo -根据现有的架构定义或支持PostgreSQL,MySQL,SQLite,Oracle和Microsoft SQL Server的自定义查询为数据库生成惯用的Go代码.

Database Drivers

*用于连接和操作数据库的库.

*关系数据库 * avatica -用于数据库/ sql的Apache Avatica / Phoenix SQL驱动程序. * bgc -BigQuery的数据存储连接. * firebirdsql -Go的Firebird RDBMS SQL驱动程序. * go-adodb -用于使用数据库/ sql的go的Microsoft ActiveX Object DataBase驱动程序. * go-mssqldb -Go的Microsoft MSSQL驱动程序. * go-oci8 -使用数据库/ sql的go的Oracle驱动程序. * go-sql-driver/mysql -Go的MySQL驱动程序. * go-sqlite3 -使用数据库/ sql的go SQLite3驱动程序. * gofreetds -Microsoft MSSQL驱动程序. 去包装 FreeTDS. * goracle -使用ODPI-C驱动程序的Go的Oracle驱动程序. * pgx -PostgreSQL驱动程序支持的功能超出了数据库/ sql所公开的功能. * pq -用于数据库/ sql的Pure Go Postgres驱动程序.

  • NoSQL数据库
    • aerospike-client-go - Aerospike client in Go language.
    • arangolite - 为ArangoDB轻型golang驱动程序.
    • asc -用于Aerospike的数据存储连接.
    • dynago -Dynago是DynamoDB的最少惊喜客户端的原则.
    • forestdb -为ForestDB进行绑定.
    • go-couchbase -Go中的Couchbase客户端.
    • go-pilosa -前往Pilosa的客户端库.
    • go-rejson -使用Redigo golang客户端的Redislabs ReJSON模块的Golang客户端. 轻松将结构作为JSON对象存储和操作在Redis中.
    • gocb -官方Couchbase Go SDK.
    • gocql -用于Apache Cassandra的Go语言驱动程序.
    • godis -受jedis启发,由golang提供的redis客户工具.
    • godscache -Google Cloud Platform Go数据存储区包装的包装,可使用memcached添加缓存.
    • gomemcache -用于Go编程语言的memcache客户端库.
    • gorethink -RethinkDB的Go语言驱动程序.
    • goriak -Riak KV的语言驱动程序.
    • mgo -(无需维护)用于Go语言的MongoDB驱动程序,该驱动程序遵循标准的Go习惯用法,在非常简单的API下实现了功能丰富且经过测试的精选功能.
    • mongo-go-driver -Go语言的官方MongoDB驱动程序.
    • neo4j - 休息Neo4j的API绑定Golang.
    • Neo4j-GO - Neo4j的REST客户端在golang.
    • neoism - Neo4j的客户端Golang.
    • redeo -与Redis协议兼容的TCP服务器/服务.
    • redigo -Redigo是Redis数据库的Go客户端.
    • redis - Redis的客户端Golang.
    • xredis -类型安全,可自定义,干净且易于使用的Redis客户端.

*搜索和分析数据库. * bleve -可以使用的现代文本索引库. * elastic -Go的Elasticsearch客户端. * elasticsql -在Go中将sql转换为elasticsearch dsl. * elastigo -Elasticsearch客户端库. * go-elasticsearch -Go的官方Elasticsearch客户. * goes -与Elasticsearch进行交互的库. * riot -开源,分布式,简单高效的搜索引擎. * skizze -概率数据结构服务和存储.

*多个后端. * cachego -用于多个驱动程序的Golang缓存组件. * cayley -图形数据库,支持多个后端. * dsc -SQL,NoSQL,结构化文件的数据存储连接. * gokv -Go的简单键值存储抽象和实现(Redis,Consul,etcd,bbolt,BadgerDB,LevelDB,Memcached,DynamoDB,S3,PostgreSQL,MongoDB,CockroachDB等).

Date and Time

*用于处理日期和时间的库.

  • carbon -从PHP Carbon库移植的具有许多util方法的简单时间扩展.
  • date -扩展时间,用于处理日期,日期范围,时间跨度,期间和一天中的时间.
  • dateparse -在不知道格式的情况下解析日期.
  • durafmt -Go的持续时间格式库.
  • feiertage -一组计算德国公共假期的功能,包括 德国(Bundesländer)州的专业. 像复活节,五旬节,感恩节之类的东西.
  • go-persian-calendar -在Go(golang)中实施波斯(太阳回历)日历.
  • go-sunrise -计算给定位置的日出和日落时间.
  • goweek -在golang中与周实体一起使用的库.
  • iso8601 -无需使用正则表达式即可有效解析ISO8601日期时间.
  • kair -日期和时间-Golang格式库.
  • now -现在是用于golang的时间工具包.
  • NullTime -时间为空.
  • strftime -与C99兼容的strftime格式化程序.
  • timespan -用于与时间间隔进行交互,定义为开始时间和持续时间.
  • timeutil -有用的扩展(Timedelta,Strftime等),用于golang的时间包.
  • tuesday -兼容Ruby的Strftime函数.

Distributed Systems

有助于构建分布式系统的软件包.

  • celeriac -用于在Go中添加对交互和监视Celery工作者,任务和事件的支持的库.
  • consistent -具有有限负载的一致哈希.
  • 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 -基于流的编程包.
  • gleam -以纯Go和Luajit编写的快速且可扩展的分布式地图/缩减系统,结合了Go的高并发性和Luajit的高性能,可独立运行或分布式.
  • glow -易于使用的可扩展分布式大数据处理,Map-Reduce,DAG执行,全部在纯Go中进行.
  • go-health -用于在服务中启用异步依赖项运行状况检查的库.
  • go-jump -Google的“跳转”一致性哈希函数端口.
  • go-kit -支持服务发现,负载平衡,可插拔传输,请求跟踪等的微服务工具包.
  • 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 -发件箱是执行发件箱模式的go库.
  • pglock -PostgreSQL支持的分布式锁定实现.
  • raft -由HashiCorp执行的Raft共识协议的Golang实现.
  • raft -由CoreOS实施Raft共识协议.
  • rain -BitTorrent客户端和库.
  • redis-lock -使用Redis的简化的分布式锁定实现.
  • resgate -用于构建REST,实时和RPC API的实时API网关,其中所有客户端都可以无缝同步.
  • ringpop-go -Go应用程序的可扩展,容错应用程序层分片.
  • rpcx -分布式可插拔RPC服务框架,例如阿里巴巴Dubbo.
  • sleuth -用于在HTTP服务之间进行无主机p2p自动发现和RPC的库(使用 ZeroMQ).
  • tendermint -高性能中间件,可使用Tendermint共识和区块链协议将以任何编程语言编写的状态机转换为拜占庭容错复制状态机.
  • torrent -BitTorrent客户端软件包.

Email

实现电子邮件创建和发送的库和工具.

  • chasquid -用Go编写的SMTP服务器.
  • douceur -用于HTML电子邮件的CSS内衬.
  • email -强大而灵活的Go Go电子邮件库.
  • go-dkim -DKIM库,用于签名和验证电子邮件.
  • go-imap -用于客户端和服务器的IMAP库.
  • go-message -Internet邮件格式和邮件的流媒体库.
  • go-premailer -Go中HTML邮件的内联样式.
  • go-simple-mail -使用SMTP保持活动状态发送电子邮件和两个超时的非常简单的程序包:连接和发送.
  • Hectane -提供HTTP API的轻型SMTP客户端.
  • hermes -Golang软件包,可生成干净的响应式HTML电子邮件.
  • mailgun-go -使用Mailgun API发送邮件的Go库.
  • MailHog -通过Web和API界面进行电子邮件和SMTP测试.
  • SendGrid -SendGrid的Go库,用于发送电子邮件.
  • smtp -SMTP服务器协议状态机.

Embeddable Scripting Languages

在您的go代码中嵌入其他语言.

  • anko -用Go语言编写的可编写脚本的解释器.
  • binder -根据以下内容转到Lua绑定库 gopher-lua.
  • cel-go -具有渐进式输入功能的快速,便携式,非图灵完整表达评估.
  • expr -可以评估表达式的引擎.
  • gentee -嵌入式脚本编程语言.
  • gisp -Go中的简单LISP.
  • go-duktape -Go的Duktape JavaScript引擎绑定.
  • go-lua -将Lua 5.2 VM移植到纯Go.
  • go-php -Go的PHP绑定.
  • go-python -天真的去绑定到CPython C-API.
  • golua -Lua C API的绑定.
  • gopher-lua -用Go编写的Lua 5.1 VM和编译器.
  • gval -用Go语言编写的高度可定制的表达语言.
  • ngaro -可嵌入的Ngaro VM实现可在Retro中启用脚本.
  • otto -用Go编写的JavaScript解释器.
  • purl -嵌入在Go中的Perl 5.18.2.
  • tengo -用于Go的字节码编译脚本语言.

Error Handling

用于处理错误的库.

  • emperror -Go库和应用程序的错误处理工具和最佳实践.
  • errlog -可破解的软件包,用于确定错误的负责任的源代码(以及其他一些快速调试功能). 可插入任何现成的记录器.
  • errors -标准库错误包和github.com/pkg/errors的直接替换. 提供各种错误处理原语.
  • errors -提供简单错误处理原语的软件包.
  • errors -使用分类原语进行简单的golang错误处理.
  • errorx -具有堆栈跟踪,错误组成等的功能丰富的错误包.
  • Falcon -一个简单但功能强大的错误处理软件包.
  • go-multierror -Go(golang)软件包,用于将错误列表表示为单个错误.
  • tracerr -堆栈跟踪和源代码片段出现Golang错误.
  • werr -Error Wrapper为Go中的错误类型创建了一个包装器,该包装器捕获了调用它的文件,行和堆栈.

Files

*用于处理文件和文件系统的库.

  • afero -Go的FileSystem抽象系统.
  • afs -Go的抽象文件存储(mem,scp,zip,tar,云:s3,gs).
  • bigfile -文件传输系统,支持使用http api,rpc调用和ftp客户端管理文件.
  • checksum -计算大型文件的消息摘要,例如MD5和SHA256.
  • flop -文件操作库,旨在与功能镜像相同 GNU cp.
  • go-csv-tag -使用标签加载csv文件.
  • go-decent-copy - Copy files for humans.
  • go-exiftool -对ExifTool进行绑定,该库是著名的库,用于从文件(图片,PDF,Office等)中提取尽可能多的元数据(EXIF,IPTC等).
  • go-gtfs -在go中加载gtfs文件.
  • notify -具有简单API的文件系统事件通知库,类似于os / signal.
  • opc -加载Go的开放包装约定(OPC)文件.
  • parquet - 读和写 parquet 文件.
  • pdfcpu -PDF处理器.
  • skywalker -允许一个人同时轻松地通过文件系统的软件包.
  • stl -读取和写入STL(立体光刻)文件的模块. 并发读取算法.
  • tarfs -实施 FileSystem interface 用于tar文件.
  • vfs -跨多种文件系统类型(例如os,S3和GCS)的Go的一组可插拔,可扩展且自以为是的文件系统功能.

Financial

会计和财务软件包.

  • accounting -golang的货币和货币格式.
  • currency -高性能和准确的货币计算软件包.
  • decimal -任意精度定点十进制数字.
  • go-finance -Go中的综合金融市场数据.
  • go-finance -货币时间价值(年金),现金流量,利率转换,债券和折旧计算的财务功能库.
  • go-finance -获取汇率,通过VIES检查增值税号并检查IBAN银行帐号的模块.
  • go-money -实施福勒的钱模式.
  • ofxgo -查询OFX服务器和/或解析响应(使用示例命令行客户端).
  • orderbook -Golang限价订单匹配引擎.
  • techan -具有高级市场分析和交易策略的技术分析库.
  • transaction -嵌入式帐户事务数据库,以多线程模式运行.
  • vat -增值税号验证和欧盟增值税率.

Forms

用于处理表单的库.

  • bind -将表单数据绑定到任何Go值.
  • binding -从net / http请求绑定结构和JSON数据到结构.
  • conform -检查用户输入. 根据struct标签对数据进行整理,清理和清理.
  • form -将url.Values解码为Go值,并将Go值编码为url.Values. 双阵列和全图支持.
  • formam -将表单的值解码为结构.
  • forms -与框架无关的库,用于解析和验证支持多部分表单和文件的表单/ JSON数据.
  • gorilla/csrf -Go Web应用程序和服务的CSRF保护.
  • nosurf -Go的CSRF保护中间件.

Functional

支持Go中功能编程的软件包.

  • fpGo - 单子,函数式编程功能的Golang.
  • fuego -Go中的功能实验.
  • go-underscore -有用的Go收集实用程序的有用收集.

Game Development

很棒的游戏开发库.

  • Azul3D -用Go编写的3D游戏引擎.
  • Ebiten -Go中已死的简单2D游戏库.
  • engo -Engo是用Go语言编写的开源2D游戏引擎. 它遵循实体组件系统范式.
  • g3n -进入3D游戏引擎.
  • GarageEngine -用Go语言编写的2d游戏引擎可在OpenGL上使用.
  • glop -Glop(权力游戏库)是一个相当简单的跨平台游戏库.
  • go-astar -执行A *路径查找算法.
  • go-collada -使用Collada文件格式的软件包.
  • go-sdl2 -去绑定 Simple DirectMedia Layer.
  • go3d -面向性能的Go 2D / 3D数学软件包.
  • gonet -使用golang实现的游戏服务器框架.
  • goworld -可扩展的游戏服务器引擎,具有空间实体框架和热插拔功能.
  • Leaf -轻巧的游戏服务器框架.
  • nano -轻巧,便利,基于高性能golang的游戏服务器框架.
  • Oak -Pure Go游戏引擎.
  • Pitaya -可扩展的游戏服务器框架,具有群集支持以及通过C SDK的iOS,Android,Unity等客户端库.
  • Pixel -Go中的手工2D游戏库.
  • raylib-go -去绑定 raylib,一个简单易用的库,用于学习视频游戏编程.
  • termloop -Go的基于终端的游戏引擎,建立在Termbox之上.

Generation and Generics

通过代码生成通过泛型等功能增强语言的工具.

  • efaceconv -代码生成工具,用于从接口{}到不分配的不可变类型的高性能转换.
  • gen -用于类似“泛型”功能的代码生成工具.
  • generis -代码生成工具,提供泛型,自由格式的宏,条件编译和HTML模板.
  • go-enum -从代码注释中为枚举生成代码.
  • go-linq -类似于.NET LINQ的Go查询方法.
  • goderive -从输入类型派生功能.
  • gotype - Golang源代码解析,像反映使用包.
  • GoWrap -使用简单的模板为Go界面生成装饰器.
  • interfaces -用于生成界面定义的命令行工具.
  • jennifer -生成没有模板的任意Go代码.
  • pkgreflect -对包范围反射进行预处理.

Geographic

地理工具和服务器

  • geocache -适用于基于地理位置的应用程序的内存中缓存.
  • geoserver -geoserver是Go软件包,用于通过GeoServer REST API操纵GeoServer实例.
  • gismanager -将GIS数据(矢量数据)发布到PostGIS和Geoserver.
  • osm -用于读取,写入和使用OpenStreetMap数据和API的库.
  • pbf - OpenStreetMap的PBF golang编码器/解码器.
  • S2 geometry -Go中的S2几何库.
  • Tile38 -具有空间索引和实时地理围栏的地理位置数据库.
  • WGS84 -坐标转换和转换库(ETRS89,OSGB36,NAD83,RGF93,Web Mercator,UTM).

Go Compilers

*用于编译的工具转到其他语言.

  • c4go -将C代码转换为Go代码.
  • f4go -将FORTRAN 77代码转换为Go代码.
  • gopherjs -从Go to JavaScript编译.
  • llgo -Go的基于LLVM的编译器.
  • tardisgo -Golang到Haxe到CPP / CSharp / Java / JavaScript转译器.

Goroutines

用于管理和使用Goroutines的工具.

  • ants - 高性能够程池golang.
  • artifex -使用基于工作者的调度,为Golang提供简单的内存中作业队列.
  • async -一种异步执行功能的安全方法,在出现紧急情况时可以将其恢复.
  • breaker -使执行流程可中断的灵活机制.
  • cyclicbarrier - 为的CyclicBarrier golang.
  • go-floc -轻松编排goroutine.
  • go-flow -控制goroutine的执行顺序.
  • go-tools/multithreading -使用带有简单API的轻量级库管理goroutine池.
  • go-trylock -对Golang的读写锁具有TryLock支持.
  • go-waitgroup -像sync.WaitGroup一样,具有错误处理和并发控制.
  • gohive -Go的高性能和易于使用的Goroutine池.
  • gollback -异步简单函数实用程序,用于管理闭包和回调的执行.
  • GoSlaves -简单和异步Goroutine池库.
  • goworker -goworker是基于Go的后台工作者.
  • gowp -gowp是并发限制goroutine池.
  • gpool -管理可调整大小的上下文感知goroutine池以绑定并发.
  • grpool -轻巧的Goroutine泳池.
  • Hunch -Hunch提供了诸如“全部”,“第一”,“重试”,“瀑布”等功能,使异步流控制更加直观.
  • oversight -监督是Erlang监督树的完整实现.
  • parallel-fn -并行运行功能.
  • pool -有限的消费者goroutine或无限的goroutine池,以便更轻松地处理和取消goroutine.
  • queue -为您提供“ sync.WaitGroup”,例如队列组可访问性. 帮助您节流和限制goroutine,等待所有goroutine结束等等.
  • routine -具有上下文和支持的例行控制:Main,Go,Pool和一些有用的Executors.
  • semaphore -基于通道和上下文的带有锁定/解锁操作超时的信号量模式实现.
  • semaphore -基于CAS的快速可调整大小的信号量实现(比基于通道的信号量实现更快).
  • stl -基于软件交易内存(STM)并发控制机制的软件交易锁.
  • threadpool - Golang线程池的实现.
  • tunny - 够程池golang.
  • worker-pool -goworker是Go简单的异步工作程序池.
  • workerpool -Goroutine池限制了任务执行的并发性,而不是排队的任务数.

GUI

用于构建GUI应用程序的库.

Toolkits

  • app -打包以使用GO,HTML和CSS创建应用程序. 支持:MacOS,Windows正在开发中.
  • fyne -专为Go设计的跨平台本机GUI,使用EFL呈现. 支持:Linux,macOS,Windows.
  • go-astilectron -使用GO和HTML / JS / CSS(由Electron支持)构建跨平台的GUI应用程序.
  • go-gtk -绑定GTK.
  • go-sciter -用于Sciter的绑定:用于现代桌面UI开发的可嵌入HTML / CSS / script引擎. 跨平台.
  • gotk3 -绑定GTK3.
  • gowd -使用GO,HTML,CSS和NW.js进行快速,简单的桌面UI开发. 跨平台.
  • qt -Go的Qt绑定(支持Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).
  • ui -Go的平台本地GUI库. 跨平台.
  • Wails -使用内置OS HTML渲染器的HTML UI的Mac,Windows,Linux桌面应用程序.
  • walk -Windows应用程序库工具包.
  • webview -具有简单双向JavaScript绑定的跨平台Webview窗口(Windows / macOS / Linux).

Interaction

  • go-appindicator -为libappindicator3 C库进行绑定.
  • gosx-notifier -Go的OSX桌面通知库.
  • mac-activity-tracker -OSX库,用于通知您计算机上的任何(可插入)活动.
  • mac-sleep-notifier -使用golang的OSX睡眠/唤醒通知.
  • robotgo -进行本机跨平台GUI系统自动化. 控制鼠标,键盘等.
  • systray -跨平台转到库,以在通知区域中放置图标和菜单.
  • trayhost -跨平台的Go库,用于在主机操作系统的任务栏中放置一个图标.

Hardware

用于与硬件交互的库,工具和教程.

See go-hardware 以获得完整列表.

Images

用于处理图像的库.

  • bild -在纯Go语言中收集图像处理算法.
  • bimg -小型包装,可使用libvips快速有效地进行图像处理.
  • cameron -Go的头像生成器.
  • canvas -将矢量图形转换为PDF,SVG或光栅图像.
  • darkroom -具有可变存储后端的图像代理和注重速度和弹性的图像处理引擎.
  • geopattern -从字符串创建漂亮的生成图像图案.
  • gg -纯Go中的2D渲染.
  • gift -图像处理滤镜包.
  • gltf - Efficient and robust glTF 2.0 reader, writer and validator.
  • go-cairo -绑定到cairo图形库.
  • go-gd -绑定GD库.
  • go-nude -使用Go进行裸露检测.
  • go-opencv -为OpenCV进行绑定.
  • go-webcolors -webcolors库从Python到Go的移植.
  • gocv -使用OpenCV 3.3+进行计算机视觉的软件包.
  • goimagehash -进入感知图像哈希包.
  • goimghdr -imghdr模块确定Go文件中包含的图像类型.
  • govatar -用于生成有趣头像的库和CMD工具.
  • image2ascii -将图像转换为ASCII.
  • imagick -绑定到ImageMagick的MagickWand C API.
  • imaginary -快速简单的HTTP微服务,用于图像大小调整.
  • imaging -简单的Go图像处理包.
  • img -选择图像处理工具.
  • ln -Go中的3D线条艺术渲染.
  • mergi -用于图像处理(合并,裁切,调整大小,水印,动画)的Tool&Go库.
  • mort -用Go编写的存储和图像处理服务器.
  • mpo -用于MPO 3D照片的解码器和转换工具.
  • picfit -用Go编写的图像大小调整服务器.
  • pt -用Go编写的路径跟踪引擎.
  • resize -使用常见的插值方法为Go调整图像大小.
  • rez -在纯Go和SIMD中调整图像大小.
  • smartcrop -查找适合任意图像和尺寸的好作物.
  • steganography -用于LSB隐写术的Pure Go库.
  • stegify -用于LSB隐写术的Go工具,能够隐藏图像中的任何文件.
  • svgo -用于SVG生成的语言库.
  • tga -软件包tga是TARGA图像格式的解码器/编码器.

IoT (Internet of Things)

用于IoT编程设备的库.

  • connectordb -量化自我和物联网的开源平台.
  • devices -物联网设备库套件,针对x / exp / io进行实验.
  • eywa -Project Eywa本质上是一个连接管理器,可跟踪连接的设备.
  • flogo -Project Flogo是一个用于IoT Edge应用和集成的开源框架.
  • gatt -Gatt是用于构建蓝牙低功耗外围设备的Go软件包.
  • gobot -Gobot是机器人技术,物理计算和物联网的框架.
  • huego -适用于Go的广泛的Philips Hue客户端库.
  • iot -物联网是用于实现Google IoT Core设备的简单框架.
  • mainflux -工业物联网消息和设备管理服务器.
  • periph -外围设备I / O,可与低级板设备接口.
  • sensorbee -物联网的轻量级流处理引擎.

Job Scheduler

用于计划作业的库.

  • clockwerk -使用简单,流利的语法打包程序以安排定期作业.
  • clockwork -Go中简单直观的工作计划库.
  • go-cron -用于go的简单Cron库,可以在不同的时间间隔执行闭包或函数,从每秒一次到每年在特定日期和时间一次. 主要用于Web应用程序和长期运行的守护程序.
  • gron -使用简单的Go API定义基于时间的任务,Gron的调度程序将相应地运行它们.
  • JobRunner -具有内置的工作队列和实时监控功能的智能功能强大的Cron工作计划程序.
  • jobs -持久灵活的后台作业库.
  • leprechaun - Job scheduler that supports webhooks, crons and classic scheduling.
  • scheduler -Cronjobs安排变得容易.

JSON

*用于JSON的库.

  • ajson -带有JSONPath支持的用于golang的抽象JSON.
  • gjo -用于创建JSON对象的小型实用程序.
  • GJSON -使用一行代码获取JSON值.
  • go-jsonerror -Go-JsonError可让我们轻松创建遵循JsonApi规范的json响应错误.
  • go-respond -Go包,用于处理常见的HTTP JSON响应.
  • gojq - JSON查询中Golang.
  • gojson -根据示例JSON自动生成Go(golang)结构定义.
  • JayDiff -用Go编写的JSON diff实用程序.
  • jettison -用于Go的高性能,无反射JSON编码器.
  • JSON-to-Go -将JSON转换为Go结构.
  • json2go -高级JSON到Go结构转换. 提供可以解析多个JSON文档并创建适合所有JSON的结构的包.
  • jsonapi-errors -根据JSON API错误参考进行绑定.
  • jsonf -用于突出显示格式和获取JSON的结构查询的控制台工具.
  • jsongo -Fluent API,可以更轻松地创建Json对象.
  • jsonhal -简单的Go软件包,可将自定义结构编组为与HAL兼容的JSON响应.
  • kazaam -用于JSON文档任意转换的API.
  • mp -简单的CLI电子邮件解析器. 当前,它使用标准输入并输出JSON.

Logging

*用于生成和使用日志文件的库.

  • distillog -提纯的日志记录级别(将其视为stdlib +日志级别).
  • glg -glg是用于Go的简单快速的日志记录库.
  • glo -具有相同严重性级别的PHP Monolog启发式日志记录工具.
  • glog -Go的分级执行日志.
  • go-cronowriter -简单的编写器,可根据当前日期和时间自动旋转日志文件,例如cronolog.
  • go-log -在Go中进行简单且可配置的日志记录,包括级别,格式化程序和编写器.
  • go-log -日志库支持级别和多处理程序.
  • go-log -Go中的Log4j实现.
  • go-logger -Go程序的简单记录器,带有级别处理程序.
  • gologger -简单易用的日志库,可在彩色控制台,简单控制台,文件或Elasticsearch中登录.
  • gomol -具有可扩展日志输出的Go的多输出,结构化日志.
  • gone/log -快速,可扩展,全功能,std-lib源兼容的日志库.
  • journald -实施systemd Journal的本机API进行日志记录.
  • log -O(1)日志记录系统,使您可以将一个日志连接到多个编写器(例如stdout,文件和TCP连接).
  • log -Go的结构化日志记录包.
  • log -简单,可配置和可扩展的Go结构化日志记录.
  • log -Go的结构化日志界面将日志记录外观与其实现完全分开.
  • log-voyage -用golang编写的全功能日志记录saas.
  • log15 -Go的简单,强大的日志记录.
  • logdump -用于多级日志记录的软件包.
  • logex -Golang日志库,支持跟踪和级别,按标准日志库包装.
  • logger -Go的简约日志记录库.
  • logmatic -具有动态日志级别配置的Golang彩色记录器.
  • logo -Golang记录器到不同的可配置写入器.
  • logrus -Go的结构化记录器.
  • logrusiowriter -使用的io.Writer实现 logrus 记录仪.
  • logrusly - logrus 插件将错误发​​送到 Loggly.
  • logutils -实用程序,用于在Go(Golang)中更好地记录日志,从而扩展了标准记录器.
  • logxi -快速的12要素应用程序记录器,让您开心.
  • lumberjack -简单的滚动记录器,实现io.WriteCloser.
  • mlog -用于go的简单日志记录模块,具有5个级别,可选的旋转日志文件功能和stdout / stderr输出.
  • onelog -Onelog是一个非常简单但非常有效的JSON记录器. 在所有情况下,它都是最快的JSON记录器. 而且,它是分配最低的记录器之一.
  • ozzo-log -高性能日志记录,支持日志严重性,分类和过滤. 可以将过滤后的日志消息发送到各种目标(例如,控制台,网络,邮件).
  • rollingwriter -RollingWriter是自动旋转的io.Writer实现,具有多种策略来提供日志文件的旋转.
  • seelog -具有灵活的调度,过滤和格式化功能的日志记录功能.
  • spew -为Go数据结构实现了一个深层漂亮的打印机,以帮助调试.
  • stdlog -Stdlog是一个面向对象的库,提供了分级日志记录. 这对于cron作业非常有用.
  • tail -Go软件包努力模拟BSD尾部程序的功能.
  • xlog -Go的插件架构和灵活的日志系统,具有ctrl级,多个日志目标和自定义日志格式.
  • xlog -结构化的记录器,用于“ net / context”感知的HTTP处理程序,具有灵活的调度功能.
  • zap -Go中快速,结构化,分级的日志记录.
  • zerolog -零分配JSON记录器.

Machine Learning

机器学习图书馆.

  • bayesian - 贝叶斯分类为Golang天真.
  • CloudForest -用于纯Go中机器学习的快速,灵活,多线程的决策树集合.
  • eaopt -进化优化库.
  • evoli -遗传算法和粒子群优化库.
  • fonet - A Deep Neural Network library written in Go.
  • go-cluster -实施k模式和k原型聚类算法.
  • go-deep -Go中功能丰富的神经网络库.
  • go-fann -快速人工神经网络(FANN)库的绑定.
  • go-galib - Genetic Algorithms library written in Go / golang.
  • go-pr -Go lang中的模式识别包.
  • gobrain -用go语言编写的神经网络.
  • godist -各种概率分布及相关方法.
  • goga -Go的遗传算法库.
  • GoLearn -用于Go的通用机器学习库.
  • golinear -Go的liblinear绑定.
  • GoMind -Go中的简单神经网络库.
  • goml -Go中的在线机器学习.
  • Goptuna -使用Go编写的黑盒函数的贝叶斯优化框架. 一切都会被优化.
  • goRecommend -用Go编写的推荐算法库.
  • gorgonia -基于图形的计算库,例如Theano for Go,它提供了用于构建各种机器学习和神经网络算法的原语.
  • gorse -基于Go协同过滤的高性能推荐系统软件包.
  • goscore -用于PMML的评分API.
  • gosseract -使用Tesseract C ++库,用于OCR(光学字符识别)的软件包.
  • libsvm -基于LIBSVM 3.14的libsvm golang版本派生作品.
  • neat -用于增强拓扑神经进化(NEAT)的即插即用,并行Go框架.
  • neural-go -在Go中实现的多层感知器网络,并通过反向传播进行训练.
  • ocrserver -简单的OCR API服务器,非常容易被Docker和Heroku部署.
  • onnx-go -进入开放式神经网络交换(ONNX)的界面.
  • probab -概率分布函数. 贝叶斯推断. 用纯Go语言编写.
  • regommend -推荐和协作过滤引擎.
  • shield 贝叶斯文本分类器,具有灵活的标记器和Go的存储后端.
  • tfgo -易于使用的Tensorflow绑定:简化了官方Tensorflow Go绑定的使用. 在Go中定义计算图,加载并执行经过Python训练的模型.
  • Varis - Golang神经网络.

Messaging

实现消息传递系统的库.

  • APNs2 -Go的HTTP / 2 Apple Push Notification提供程序—将推送通知发送到iOS,tvOS,Safari和OSX应用程序.
  • Beaver -实时消息传递服务器,用于构建可扩展的应用程序内通知,多人游戏,Web和移动应用程序中的聊天应用程序.
  • Benthos -一系列协议之间的消息流桥.
  • Bus -用于内部通信的极简消息总线实现.
  • Centrifugo -Go中的实时消息传递(Websockets或SockJS)服务器.
  • Commander -由事件驱动的高级消费者/生产者,支持各种“方言”,例如Apache Kafka.
  • dbus -用于D-Bus的Native Go绑定.
  • drone-line -正在发送 Line 使用二进制,泊坞窗或Drone CI的通知.
  • emitter -使用Go方式发出事件,并使用通配符,谓词,取消可能性和许多其他良好的胜利.
  • event -模式观察器的实现.
  • EventBus -具有异步兼容性的轻量级事件总线.
  • gaurun-client -用Go编写的Gaurun Client.
  • Glue -健壮的Go和Javascript套接字库(替代Socket.io).
  • go-notify -freedesktop通知规范的本地实现.
  • go-nsq -NSQ的官方Go软件包.
  • go-socket.io -用于golang(实时应用程序框架)的socket.io库.
  • go-vitotrol -Viessmann Vitotrol Web服务的客户端库.
  • Gollum -一个n:m多路复用器,它从不同的来源收集消息并将其广播到一组目标.
  • golongpoll -HTTP longpoll服务器库,使网络发布订阅变得简单.
  • gopush-cluster -gopush-cluster是go push服务器群集.
  • gorush -推送通知服务器使用 APNs2 和谷歌 GCM.
  • guble -使用推送通知的消息服务器(Google Firebase Cloud Messaging,Apple推送通知服务,SMS)以及websockets,一种REST API,具有分布式操作和消息持久性.
  • hub -用于Go应用程序的消息/事件中心,使用发布/订阅模式并支持如RabbitMQ交换之类的别名.
  • jazz -一个简单的RabbitMQ抽象层,用于队列管理以及消息的发布和使用.
  • machinery -基于分布式消息传递的异步任务队列/作业队列.
  • mangos -具有传输互操作性的Nanomsg(“可伸缩协议”)的完全实施.
  • melody -用于处理websocket会话的简约框架,包括广播和自动ping / pong处理.
  • Mercure -服务器和库,使用Mercure协议(建立在“服务器发送的事件”之上)调度服务器发送的更新.
  • messagebus -messagebus是一种Go简单的异步消息总线,非常适合在进行事件源,CQRS和DDD时用作事件总线.
  • NATS Go Client -轻量级和高性能的发布-订阅和分布式排队消息传递系统-这是Go库.
  • nsq-event-bus -围绕NSQ主题和渠道的小包装.
  • oplog -REST API的通用oplog /复制系统.
  • pubsub -简单的pubsub包.
  • rabbus -在amqp交换和队列上的小包装.
  • rabtap -RabbitMQ瑞士军刀CLI应用程序.
  • RapidMQ -RapidMQ是用于管理本地消息队列的轻量级且可靠的库.
  • redisqueue -redisqueue提供使用Redis流的队列的生产者和使用者.
  • rmqconn -RabbitMQ重新连接. 包装在amqp.Connection和amqp.Dial上. 在断开连接之前允许进行重新连接,然后强制关闭Close()方法的调用.
  • sarama -转到Apache Kafka的库.
  • Uniqush-Push -Redis支持的统一推送服务,用于向移动设备发送服务器端通知.
  • zmq4 -转到ZeroMQ版本4的界面.也可用于 version 3version 2.

Microsoft Office

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

Microsoft Excel

用于Microsoft Excel的库.

  • excelize -Golang库,用于读取和写入Microsoft Excel™(XLSX)文件.
  • go-excel -一个简单而轻便的阅读器,可以将类似于related-db的excel读取为表格.
  • goxlsxwriter - Golang绑定libxlsxwriter写XLSX(Microsoft Excel)中的文件.
  • xlsx -库,简化了Go程序中Microsoft Excel最新版本使用的XML格式的读取.
  • xlsx -快速安全的方式来读取/更新Go程序中的现有Microsoft Excel文件.

Miscellaneous

Dependency Injection

用于依赖注入的库.

  • alice -Golang的附加依赖项注入容器.
  • container -功能强大的IoC容器,界面流畅且易于使用.
  • dig -Go的基于反射的依赖项注入工具包.
  • fx - A dependency injection based application framework for Go (built on top of dig).
  • gocontainer -简单的依赖注入容器.
  • inject -具有简单接口的基于反射的依赖项注入容器.
  • linker -基于反射的依赖项注入和具有组件生命周期支持的控制库反转.
  • wire - 严格的运行依赖注入Golang.

Project Layout

用于构造项目的非官方模式

Strings

用于处理字符串的库.

  • strutil -字符串实用程序.
  • xstrings -从其他语言移植的有用的字符串函数的集合.

*将这些库放在这里是因为其他类别似乎都不适合.

  • anagent -带有依赖项注入的简约,可插入Golang evloop / timer处理程序.
  • antch -快速,强大且可扩展的Web爬网和抓取框架.
  • archiver -用于制作和提取.zip和.tar.gz档案的库和命令.
  • autoflags -Go软件包可从结构字段自动定义命令行标志.
  • avgRating -根据Wilson得分方程计算平均得分和等级.
  • banner -在您的Go应用程序中添加漂亮的横幅.
  • base64Captcha -Base64captch支持数字,数字,字母,算术,音频和数字字母验证码.
  • battery -跨平台的标准化电池信息库.
  • bitio -高度优化的Go语言位读写器.
  • browscap_go - 库GoLang Browser Capabilities Project.
  • captcha -验证码软件包为生成验证码提供了易于使用且不受质疑的API.
  • conv -包转换功能可在Go类型之间提供快速直观的转换.
  • datacounter -去读者/作家/http.ResponseWriter计数器.
  • ffmt -美化人类的数据显示.
  • ghorg -快速将整个组织/用户存储库克隆到一个目录中-支持GitHub,GitLab和Bitbucket.
  • go-commons-pool -Golang的通用对象池.
  • go-openapi -收集软件包以解析和利用开放式API模式.
  • go-resiliency - 弹性模式为golang.
  • go-unarr -用于RAR,TAR,ZIP和7z存档的解压缩库.
  • gofakeit -用go编写的随机数据生成器.
  • gommit -分析git commit消息,以确保它们遵循定义的模式.
  • gopsutil -跨平台库,用于检索进程和系统利用率(CPU,内存,磁盘等).
  • gosh -提供Go统计处理程序,结构,度量方法.
  • gosms -Go中您自己的本地SMS网关,可用于发送SMS.
  • gotoprom -官方Prometheus客户端的类型安全指标构建器包装器库.
  • gountries -包含国家/地区和细分数据的软件包.
  • health -易于使用的可扩展健康检查库.
  • healthcheck -针对RESTful服务的自发的并发运行状况检查HTTP处理程序.
  • hostutils - A golang library for packing and unpacking FQDNs list.
  • indigo -使用Sonyflake并由Base58编码的分布式唯一ID生成器.
  • lk -用于golang的简单许可库.
  • llvm -用于在纯Go语言中与LLVM IR交互的库.
  • metrics -度量工具和Prometheus展示库.
  • morse -库与莫尔斯电码来回转换.
  • numa -NUMA是实用程序库,它是用go编写的. 它有助于我们编写一些NUMA-AWARED代码.
  • pdfgen -HTTP服务,可从Json请求生成PDF.
  • persian -go中的一些波斯语实用程序.
  • sandid -地球上的每一粒沙都有自己的编号.
  • shellwords -一个Golang库,用于根据UNIX Bourne shell的单词解析规则来操作字符串.
  • shortid -分布式生成超短,唯一,非顺序,URL友好的ID.
  • stateless -用于创建状态机的流利库.
  • stats -监视Go MemStats和系统统计信息(例如内存,交换和CPU),并通过UDP发送到您要记录的任何位置等.
  • turtle -Go表情符号.
  • url-shortener -具有mysql支持的现代,强大而强大的URL缩短器微服务.
  • VarHandler -生成样板http输入和输出处理.
  • xdg -在Go中实现的FreeDesktop.org(xdg)规范.
  • xkg -X Keyboard Grabber.

Natural Language Processing

使用人类语言的图书馆.

  • getlang -快速的自然语言检测程序包.
  • go-i18n -用于处理本地化文本的软件包和随附的工具.
  • go-mystem -CGo与Yandex.Mystem的绑定-俄罗斯形态分析仪.
  • go-nlp -用于处理离散概率分布的实用程序和其他可用于执行NLP工作的工具.
  • go-pinyin - CN Hanzi to Hanyu Pinyin converter.
  • go-stem -实施波特词干算法.
  • go-unidecode -Unicode文本的ASCII音译.
  • go2vec -用于word2vec嵌入的阅读器和实用程序功能.
  • gojieba -这是Go的实现 jieba 其中有中文分词算法.
  • golibstemmer -绑定雪球libstemmer库,包括搬运工2.
  • gotokenizer -基于Golang字典和Bigram语言模型的分词器. (现在仅支持中文细分)
  • gounidecode -用于Go的Unicode音译器(也称为unidecode).
  • gse -进行高效的文本分割; 支持英语,中文,日语等.
  • icu -用于icu4c C库检测和转换功能的Cgo绑定. 保证与版本50.1兼容.
  • kagome -用纯Go语言编写的JP形态分析仪.
  • libtextcat -libtextcat C库的Cgo绑定. 保证与2.2版兼容.
  • MMSEGO -这是GO的实现 MMSEG 其中有中文分词算法.
  • nlp -从字符串中提取值,并用nlp填充您的结构.
  • nlp -支持LSA(潜在语义分析)的自然语言处理库.
  • paicehusk -Paice / Husk阻止算法的Golang实现.
  • petrovich -彼得罗维奇(Petrovich)是图书馆,在给定的语法情况下使用俄语名称.
  • porter -这是Martin Porter的Porter词干算法的C实现的相当简单的移植.
  • porter2 -真快,波特2票.
  • prose -用于文本处理的库,支持标记化,词性标记,命名实体提取等. 仅限英语.
  • RAKE.go -快速自动关键字提取算法(RAKE)的端口.
  • segment -执行如下所述的用于执行Unicode文本分段的库 Unicode Standard Annex #29
  • sentences -句子标记器:将文本转换为句子列表.
  • shamoji -shamoji是用Go编写的单词过滤软件包.
  • snowball -Go专用的Snowball stemmer端口(cgo包装器). 提供词干提取功能 Snowball native.
  • stemmer -用于Go编程语言的Stemmer软件包. 包括英语和德语词干.
  • textcat -Go包,用于基于n-gram的文本分类,并支持utf-8和原始文本.
  • whatlanggo -Go的自然语言检测程序包. 支持84种语言和24种脚本(书写系统,例如拉丁语,西里尔字母等).
  • when -具有可插拔规则的自然EN和RU语言日期/时间解析器.

Networking

*用于与网络的各个层配合使用的库.

  • arp -包arp实现ARP协议,如RFC 826中所述.
  • buffstreams -通过TCP流化协议缓冲区数据变得容易.
  • canopus -CoAP客户端/服务器实施(RFC 7252).
  • cidranger -Go的快速IP到CIDR查找.
  • dhcp6 -软件包dhcp6实现了DHCPv6服务器,如RFC 3315中所述.
  • dns -去使用DNS的库.
  • ether -跨平台Go软件包,用于发送和接收以太网帧.
  • ethernet -包以太网实现了对IEEE 802.3以太网II帧和IEEE 802.1Q VLAN标签的封送处理.
  • fasthttp -软件包fasthttp是Go的快速HTTP实现,比net / http快10倍.
  • fortio -负载测试库和命令行工具,高级回显服务器和Web UI. 允许指定设置的每秒查询负载,并记录延迟直方图和其他有用的统计数据并对其进行图形化. Tcp,Http,gRPC.
  • ftp -软件包ftp实现了FTP客户端,如 RFC 959.
  • gev -gev是基于Reactor模式的轻量级,快速,无阻塞的TCP网络库.
  • gmqtt -Gmqtt是一个灵活的高性能MQTT代理库,它完全实现了MQTT协议V3.1.1.
  • gnet -gnet是使用Go编写的高性能,轻量级,无阻塞,事件循环网络库.
  • gNxI -使用gNMI和gNOI协议的网络管理工具的集合.
  • go-getter - Go library for downloading files or directories from various sources using a URL.
  • go-powerdns - 为Golang PowerDNS API绑定.
  • go-stun -实施STUN客户端(RFC 3489和RFC 5389).
  • gobgp -以Go编程语言实现的BGP.
  • golibwireshark -软件包golibwireshark使用libwireshark库来解码pcap文件并分析解剖数据.
  • gopacket -使用libpcap绑定去库处理包.
  • gopcap -为libpcap包装.
  • goshark -打包goshark使用tshark解码IP数据包并创建数据结构以分析数据包.
  • gosnmp -用于执行SNMP操作的本机Go库.
  • gotcp -Go软件包,用于快速编写tcp应用程序.
  • grab -用于管理文件下载的软件包.
  • graval -实验性FTP服务器框架.
  • HTTPLab -HTTPLabs可让您检查HTTP请求并伪造响应.
  • iplib -受python启发的用于处理IP地址(net.IP,net.IPNet)的库 ipaddress 和红宝石 ipaddr
  • jazigo -Jazigo是用Go语言编写的工具,用于检索多个网络设备的配置.
  • kcp-go -KCP-快速可靠的ARQ协议.
  • kcptun -基于KCP协议的极其简单和快速的udp隧道.
  • lhttp -强大的websocket框架,更轻松地构建IM服务器.
  • linkio -用于读取器/写入器接口的网络链接速度仿真.
  • llb -这是代理服务器的非常简单但快速的后端. 对于零内存分配和快速响应的快速重定向到预定义域很有用.
  • mdns -Golang中的简单mDNS(多播DNS)客户端/服务器库.
  • mqttPaho -Paho Go客户端提供了一个MQTT客户端库,用于通过TCP,TLS或WebSockets连接到MQTT代理.
  • NFF-Go -快速开发用于云和裸机的高性能网络功能的框架(前YANFF).
  • packet -通过TCP和UDP发送数据包. 如果需要,它可以缓冲消息和热交换连接.
  • peerdiscovery -Pure Go库,用于使用UDP多播的跨平台本地对等点发现.
  • portproxy -简单的TCP代理,它向不支持的API添加了CORS支持.
  • publicip -包publicip返回您的面向公众的IPv4地址(互联网出口).
  • quic-go -在纯Go中实现QUIC协议.
  • raw -原始数据包可在网络接口的设备驱动程序级别读取和写入数据.
  • sftp -软件包sftp实现了SSH文件传输协议,如https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt中所述.
  • ssh -用于构建SSH服务器的高级API(包装crypto / ssh).
  • sslb -这是一个超级简单的负载均衡器,只是一个实现某种性能的小项目.
  • stun -实施RFC 5389 STUN协议.
  • tcp_server -可以更快地构建tcp服务器的库.
  • tspool -TCP库使用工作池来提高性能并保护服务器.
  • utp -实施uTP微传输协议.
  • water -简单的TUN / TAP库.
  • webrtc -WebRTC API的纯Go实现.
  • winrm -使用WinRM客户端在Windows计算机上远程执行命令.
  • xtcp -具有同步全双工通信,安全关闭,自定义协议的TCP Server Framework.

HTTP Clients

用于发出HTTP请求的库.

  • gentleman -功能齐全的插件驱动的HTTP客户端库.
  • grequests -著名的Requests库的Go“克隆”.
  • heimdall -具有重试和hystrix功能的增强型http客户端.
  • pester -通过重试,退避和并发进行HTTP客户端调用.
  • resty -受Ruby rest-client启发的Go的简单HTTP和REST客户端.
  • rq -更好的golang stdlib HTTP客户端接口.
  • sling -Sling是Go HTTP客户端库,用于创建和发送API请求.
  • sreq -Go的简单,用户友好和并发安全的HTTP请求库.

OpenGL

*在Go中使用OpenGL的库.

  • gl -为OpenGL进行绑定(通过光晕生成).
  • glfw -为GLFW 3进行绑定.
  • goxjs/gl -跨平台的OpenGL绑定(OS X,Linux,Windows,浏览器,iOS,Android).
  • goxjs/glfw -使用跨平台的glfw库来创建OpenGL上下文并接收事件.
  • mathgl -受GLM启发,专门用于3D数学的Pure Go数学软件包.

ORM

*实现对象关系映射或数据映射技术的库.

  • beego orm -强大的orm框架. 支持:pq / mysql / sqlite3.
  • go-firestorm -适用于Google / Firebase Cloud Firestore的简单ORM.
  • go-pg -专注于PostgreSQL特定功能和性能的PostgreSQL ORM.
  • go-queryset -100%类型安全的ORM,具有代码生成功能以及基于GORM的MySQL,PostgreSQL,Sqlite3和SQL Server支持.
  • go-sqlbuilder -灵活而强大的SQL字符串构建器库以及零配置ORM.
  • go-store -用于Go的简单快速的Redis支持的键值存储库.
  • GORM -出色的Golang ORM库,旨在对开发人员友好.
  • gorp -Go Relational Persistence,用于Go的ORM式库.
  • grimoire -Grimoire是数据库访问层和golang验证. (支持:MySQL,PostgreSQL和SQLite3).
  • lore -用于Go的简单轻量的伪ORM /伪结构映射环境.
  • Marlow -从项目结构生成的ORM,以确保编译时的安全性.
  • pop/soda -MySQL,PostgreSQL和SQLite的数据库迁移,创建,ORM等.
  • QBS -代表按结构查询. Go ORM.
  • reform -基于非空接口和代码生成的更好的ORM for Go.
  • SQLBoiler -ORM生成器. 生成针对您的数据库模式量身定制的功能强大且快速的ORM.
  • upper.io/db -用于通过使用包装成熟的数据库驱动程序的适配器与不同数据源进行交互的单一接口.
  • Xorm -简单而强大的Go专用ORM.
  • Zoom -基于Redis的快速数据存储和查询引擎.

Package Management

用于依赖性和程序包管理的官方工具

  • go modules -模块是源代码交换和版本控制的单元. go命令直接支持使用模块,包括记录和解决对其他模块的依赖关系.

用于软件包管理的官方实验工具

  • dep -转到依赖工具.
  • vgo -版本化的Go.

用于软件包和依赖项管理的非官方库.

  • gigo - PIP-like dependency tool for golang, with support for private repositories and hashes.
  • glide -轻松管理您的golang供应商和供应商软件包. 受到Maven,Bundler和Pip等工具的启发.
  • godep -go的依赖工具,godep通过修复依赖关系来可重复地构建软件包.
  • gom -Go Manager-捆绑销售.
  • goop -受Bundler启发,用于Go(golang)的简单依赖项管理器.
  • gop -在GOPATH之外构建和管理Go应用程序.
  • gopm -进入软件包管理器.
  • govendor -进入软件包管理器. 使用标准供应商文件的Go供应商工具.
  • gpm -Go的准系统依赖管理器.
  • johnny-deps -使用Git的最小依赖版本.
  • mvn-golang -该插件提供了自动加载Golang SDK,依赖性管理以及在Maven项目基础架构中启动构建环境的方式.
  • nut -Vendor Go依赖项.
  • VenGO -创建和管理可导出的隔离go虚拟环境.

Performance

  • jaeger -分布式跟踪系统.
  • profile -Go的简单分析支持包.
  • tracer -简单,轻便的跟踪.

Query Language

  • gojsonq -通过JSON数据查询的简单Go包.
  • graphql -graphql解析器+实用程序.
  • graphql -专注于易用性的GraphQL服务器.
  • graphql-go -实施GraphQL for Go.
  • jsonql - 在Golang JSON查询表达式库.
  • jsonslice -具有高级过滤器的Jsonpath查询.
  • rql -REST API的资源查询语言.
  • straf -轻松将Golang结构转换为GraphQL对象.

Resource Embedding

  • esc -将文件嵌入Go程序,并为它们提供http.FileSystem接口.
  • fileb0x -嵌入文件的简单工具,重点放在“自定义”上,易于使用.
  • go-embed -生成go代码以将资源文件嵌入到您的库或可执行文件中.
  • go-resources -嵌入Go的多余资源.
  • go.rice -go.rice是一个Go程序包,可轻松处理html,js,css,图像和模板等资源.
  • packr -将静态文件嵌入Go二进制文件的简单方法.
  • statics -将静态资源嵌入到go文件中以进行单个二进制编译+与http.FileSystem + symlinks一起使用.
  • statik -将静态文件嵌入到Go可执行文件中.
  • templify -将外部模板文件嵌入到Go代码中以创建单个文件二进制文件.
  • vfsgen -生成静态实现给定虚拟文件系统的vfsdata.go文件.

Science and Data Analysis

*用于科学计算和数据分析的图书馆.

  • assocentity -包关联性返回单词到给定实体的平均距离.
  • bradleyterry -提供Bradley-Terry模型进行成对比较.
  • chart -Go的简单图表绘图库. 支持多种图形类型.
  • dataframe-go -用于机器学习和统计的Go数据框(类似于熊猫).
  • evaler -简单的浮点算术表达式评估器.
  • ewma -指数加权移动平均线.
  • geom -Golang的2D几何.
  • go-dsp -Go的数字信号处理.
  • go-gt -用“ Go”语言编写的图论算法.
  • goent -实施熵测度.
  • gohistogram -数据流的近似直方图.
  • gonum -Gonum是用于Go编程语言的一组数字库. 它包含用于矩阵,统计信息,优化等的库.
  • gonum/plot -gonum / plot提供了用于在Go中构建和绘制图的API.
  • goraph -Pure Go图论库(数据结构,算法可视化).
  • gosl -进入科学图书馆,了解线性代数,FFT,几何,NURBS,数值方法,概率,优化,微分方程等.
  • GoStats -GoStats是用于数学统计的开源GoLang库,主要用于机器学习领域,它涵盖了大多数统计度量功能.
  • graph -基本图形算法库.
  • ode -常微分方程(ODE)求解器,支持扩展状态和基于通道的迭代停止条件.
  • orb -具有剪切,GeoJSON和Mapbox Vector Tile支持的2D几何类型.
  • pagerank -在Go中实现的加权PageRank算法.
  • piecewiselinear -微小的线性插值库.
  • PiHex -十六进制数Pi的“ Bailey-Borwein-Plouffe”算法的实现.
  • rootfinding -根查找算法库,用于查找二次函数的根.
  • sparse -用于线性代数的Go Sparse矩阵格式,支持科学和机器学习应用程序,与gonum矩阵库兼容.
  • stats -Golang标准库中缺少常用功能的统计信息包.
  • streamtools -用于处理数据流的通用图形工具.
  • TextRank -Golang中的TextRank实现具有可扩展的功能(摘要,加权,短语提取)和多线程(goroutine)支持.
  • triangolatte -2D三角剖分库. 允许将线和多边形(均基于点)转换为GPU的语言.

Security

用于帮助使您的应用程序更安全的库.

  • acmetool -具有自动续订功能的ACME(Let's Encrypt)客户端工具.
  • acra -网络加密代理,可保护基于数据库的应用程序免遭数据泄漏:强大的选择性加密,SQL注入预防,入侵检测系统.
  • argon2pw -具有恒定时间密码比较的Argon2密码哈希生成.
  • autocert -自动配置让我们加密证书并启动TLS服务器.
  • BadActor -基于fail2ban精神构建的内存中,应用程序驱动的监狱看守.
  • Cameradar -用于从监控摄像机远程破解RTSP流的工具和库.
  • certificates -用于生成tls证书的自带工具.
  • go-yara -去绑定 YARA,“针对恶意软件研究人员(以及其他所有人)的模式匹配瑞士刀”.
  • goArgonPass -Argon2密码哈希和验证旨在与现有的Python和PHP实现兼容.
  • goSecretBoxPassword -可能是偏执狂的软件包,用于安全地哈希和加密密码.
  • Interpol -基于规则的数据生成器,用于模糊测试和渗透测试.
  • lego -Pure Go ACME客户端库和CLI工具(与Let's Encrypt一起使用).
  • memguard -用于处理内存中敏感值的纯Go库.
  • nacl -实施NaCL API集.
  • passlib -永不过时的密码哈希库.
  • secure -用于Go的HTTP中间件,有助于快速赢得安全性.
  • simple-scrypt -具有简单,明显API和内置自动成本校准功能的Scrypt软件包.
  • ssh-vault -使用ssh密钥加密/解密.
  • sslmgr -通过围绕acme / autocert的高级包装,可以轻松实现SSL证书.

Serialization

*用于二进制序列化的库和工具.

  • asn1 -Gon的Asn.1 BER和DER编码库.
  • bambam -转到Cap'n Proto模式的生成器.
  • bel -从Go结构/接口生成TypeScript接口. 对JSON RPC有用.
  • binstruct -Golang二进制解码器,用于将数据映射到结构中.
  • cbor -小型,安全和容易的CBOR编码和解码库.
  • colfer -Colfer二进制格式的代码生成.
  • csvutil -高性能,惯用的CSV记录对本地Go结构的编码和解码.
  • fwencoder -用于Go的固定宽度的文件解析器(编码和解码库).
  • go-capnproto -Cap'n Proto库和解析器.
  • go-codec -针对msgpack,cbor和json的高性能,功能丰富,惯用的编码,解码和rpc库,并具有基于运行时的OR代码生成支持.
  • gogoprotobuf -Go with Gadgets的协议缓冲区.
  • goprotobuf -以库和协议编译器插件的形式提供对Google协议缓冲区的支持.
  • jsoniter -高性能100%兼容的“ encoding / json”替代品.
  • mapstructure -Go库,用于将通用地图值解码为本地Go结构.
  • php_session_decoder -GoLang库,用于处理PHP会话格式和PHP序列化/反序列化功能.
  • pletter -为消息代理包装原始消息的标准方法.
  • structomap -从静态结构轻松动态地生成地图的库.

Server Applications

  • algernon -HTTP / 2 Web服务器,内置对Lua,Markdown,GCSS和Amber的支持.
  • Caddy -Caddy是一种易于配置和使用的备用HTTP / 2 Web服务器.
  • consul -Consul是用于服务发现,监视和配置的工具.
  • devd -开发人员的本地网络服务器.
  • discovery -一个用于中层弹性负载平衡和故障转移的注册表.
  • dudeldu -一个简单的SHOUTcast服务器.
  • etcd -高度可用的键值存储,用于共享配置和服务发现.
  • Fider -Fider是一个开放平台,用于收集和组织客户反馈.
  • Flagr -Flagr是一种开源功能标记和A / B测试服务.
  • flipt -用Go和Vue.js编写的自包含功能标志解决方案
  • jackal -用Go语言编写的XMPP服务器.
  • minio -Minio是分布式对象存储服务器.
  • nginx-prometheus -Nginx日志解析器和Prometheus的导出器.
  • nsq -实时分布式消息传递平台.
  • psql-streamer -将数据库事件从PostgreSQL流化到Kafka.
  • riemann-relay -中继以平衡Riemann事件和/或将其转换为Carbon.
  • RoadRunner -高性能PHP应用程序服务器,负载平衡器和进程管理器.
  • SFTPGo -功能齐全且可高度​​配置的SFTP服务器软件.
  • yakvs -小型的网络内存中键值存储.

Stream Processing

*用于流处理和反应式编程的库和工具.

Template Engines

*用于模板化和词法化的库和工具.

  • ace -Ace是Go语言的HTML模板引擎,灵感来自Slim和Jade. 王牌是黄金的提炼.
  • amber -Amber是用于Go编程语言的优雅模板引擎,其灵感来自HAML和Jade.
  • damsel -标记语言具有通过css-selectors进行html概述的功能,可通过pkg html / template等扩展.
  • ego -轻量级的模板语言,可让您在Go中编写模板. 模板被翻译成Go并被编译.
  • extemplate -围绕html / template的微型包装器,可轻松实现基于文件的模板继承.
  • fasttemplate -简单快速的模板引擎. 替换模板占位符的速度比原来快10倍 text/template.
  • gofpdf -PDF文档生成器,对文本,图形和图像提供高级支持.
  • goview -Goview是基于golang html / template的轻量级,极简且惯用的模板库,用于构建Go Web应用程序.
  • hero -Hero是一款方便,快速且功能强大的go模板引擎.
  • jet -Jet模板引擎.
  • kasia.go -HTML和其他文本文档的模板系统-实施.
  • liquid -实施Shopify Liquid模板.
  • maroto -创建PDF的一种maroto方法. Maroto受Bootstrap启发,并使用gofpdf. 快速简单.
  • mustache -实施Mustache模板语言.
  • pongo2 -Go的类似Django的模板引擎.
  • quicktemplate -快速,强大但易于使用的模板引擎. 将模板转换为Go代码,然后进行编译.
  • raymond -在Go中完整的车把实现.
  • Razor - 为Golang Razor视图引擎.
  • Soy -按照以下步骤进行Go的关闭模板(也称为Soy模板) official spec.
  • velvet -在Go中完整的车把实现.

Testing

*用于测试代码库和生成测试数据的库.

*测试框架 * apitest -用于基于REST的服务或HTTP处理程序的简单和可扩展的行为测试库,支持模拟外部http调用和序列图的呈现. * assert -与本地本机测试一起使用的基本断言库,带有用于自定义断言的构建块. * badio -Go的“测试/ iotest”包的扩展. * baloo -富有表现力和多功能的端到端HTTP API测试变得容易. * biff -分叉测试框架,兼容BDD. * charlatan -生成用于测试的虚假接口实现的工具. * commander -在Windows,Linux和osx上测试cli应用程序的工具. * cupaloy -适用于您的测试框架的简单快照测试插件. * dbcleaner -根据Ruby中的“ database_cleaner”的启发,清理数据库以进行测试. * dsunit -针对SQL,NoSQL,结构化文件的数据存储区测试. * endly -声明式端到端功能测试. * flute -HTTP客户端测试框架. * frisby -REST API测试框架. * ginkgo -Go的BDD测试框架. * go-carpet -在终端中查看测试覆盖率的工具. * go-cmp -用于比较测试中Go值的软件包. * go-mutesting -Go源代码的变异测试. * go-testdeep -非常灵活的golang深度比较,扩展了go测试包. * go-vcr -记录并重放HTTP交互,以进行快速,确定性和准确的测试. * goblin -Mocha像Go一样的测试框架. * gocheck -比getest更高级的测试框架. * GoConvey -具有Web UI和实时重载的BDD样式的框架. * gocrest -Go断言可组合的类似于hamcrest的匹配器. * godog -类似于Go的BDD框架的Cucumber或Behat. * gofight - 处理器API测试的路由器Golang框架. * gogiven -类似于YATSPEC的Go的BDD测试框架. * gomatch -为针对模式测试JSON而创建的库. * gomega -Rspec,例如匹配器/断言库. * GoSpec -Go编程语言的BDD风格测试框架. * gospecify -这提供了BDD语法来测试您的Go代码. 使用过rspec之类的库的任何人都应该熟悉. * gosuite -利用Go1.7的子测试,将具有设置/拆卸功能的轻量级测试套件带到“测试”中. * gotest.tools -软件包的集合,以增强go测试软件包并支持通用模式. * Hamcrest -声明式Matcher对象的流利框架,将其应用于输入值时,会产生自描述结果. * httpexpect -简洁,声明性且易于使用的端到端HTTP和REST API测试. * jsonassert -用于验证JSON有效负载已正确序列化的软件包. * restit -使用微型框架来帮助编写RESTful API集成测试. * schema -快速简便的表达式匹配,可用于请求和响应中的JSON模式. * testcase -行为驱动开发的惯用测试框架. * testfixtures -Rails的帮手,例如测试装置来测试数据库应用程序. * Testify -对标准go测试包的神圣扩展. * testmd -将降价代码段转换为可测试的go代码. * testsql -在测试之前从SQL文件生成测试数据,并在完成后将其清除. * trial -快速简单的可扩展断言,无需引入太多样板. * Tt -简单而丰富多彩的测试工具. * wstest - Websocket client for unit-testing a websocket http.Handler.

*模拟 * counterfeiter -生成独立模拟对象的工具. * go-sqlmock -模拟SQL驱动程序,用于测试数据库交互. * go-txdb -基于单事务的数据库驱动程序,主要用于测试目的. * gock -通用的HTTP模拟变得容易. * gomock -Go编程语言的模拟框架. * govcr -Golang的HTTP模拟:记录和重放HTTP交互以进行离线测试. * hoverfly -HTTP(S)代理,用于使用可扩展的中间件和易于使用的CLI记录和模拟REST / SOAP API. * httpmock -轻松模拟来自外部资源的HTTP响应. * minimock -Go接口的模拟生成器. * mockhttp -Go http.ResponseWriter的模拟对象.

*起毛和增量调试/减少/缩小. * go-fuzz -随机测试系统. * gofuzz -用于填充带有随机值的go对象的库. * Tavor -通用的模糊测试和增量调试框架.

*硒和浏览器控制工具. * cdp -Chrome调试协议的类型安全绑定,可与实现该协议的浏览器或其他调试目标一起使用. * chromedp -一种驱动/测试Chrome,Safari,Edge,Android Webview和其他支持Chrome调试协议的浏览器的方法. * ggr -轻量级服务器,可将Selenium WebDriver请求路由和代理到多个Selenium集线器. * selenoid -替代的Selenium集线器服务器,可在容器内启动浏览器.

*失败注入 * failpoint - An implementation of failpoints 对于Golang.

Text Processing

用于解析和处理文本的库.

*特定格式 * align -对齐文本的通用应用程序. * allot -CLI工具和漫游器的占位符和通配符文本解析. * bbConvert -将bbCode转换为HTML,使您可以添加对自定义bbCode标记的支持. * blackfriday -Go中的Markdown处理器. * bluemonday -HTML Sanitizer. * codetree -解析缩进的代码(python,pixy,scarlet等)并返回树结构. * colly -Gophers的快速优雅的刮取框架. * commonregex -Go常用正则表达式的集合. * dataflowkit -Web抓取框架,可将网站转变为结构化数据. * did -Go中的DID(分散标识符)解析器和Stringer. * doi -Go中的文档对象标识符(doi)解析器. * editorconfig-core-go -Go的Editorconfig文件解析器和操纵器. * enca -的最小cgo绑定 libenca. * encdec -包为编码器和解码器提供通用接口. * genex -计算正则表达式并将其扩展为所有匹配的字符串. * github_flavored_markdown -带有调味栏的GitHub Flavored Markdown渲染器(使用blackfriday),突出显示了可点击的标题锚链接. * go-fixedwidth -固定宽度的文本格式(带反射的编码器/解码器). * go-humanize -用于将时间,数字和内存大小格式化为人类可读格式的格式化程序. * go-nmea -用于Go语言的NMEA解析器库. * go-runewidth -获得固定宽度的字符或字符串的函数. * go-slugify -多种语言支持,让你很笨拙. * go-toml -使用查询支持和方便的cli工具获取TOML格式的库. * go-vcard -解析并格式化vCard. * go-zero-width -零宽度字符检测和Go删除. * gofeed -在Go中解析RSS和Atom提要. * gographviz -解析Graphviz DOT语言. * gommon/bytes -将字节格式化为字符串. * gonameparts -将人的名字解析成单独的名字部分. * goq -使用带有jQuery语法的struct标记对HTML进行声明式解封(使用GoQuery). * GoQuery -GoQuery为Go语言带来了类似于jQuery的语法和一组功能. * goregen -用于从正则表达式生成随机字符串的库. * goribot -一个简单的golang蜘蛛/抓取框架,用3行代码构建一个蜘蛛. * gotext -Go的GNU gettext实用程序. * guesslanguage -确定unicode文本的自然语言的功能. * htmlquery -用于HTML的XPath查询包,可让您通过XPath表达式从HTML文档中提取数据或评估. * inject -包装注入提供基于反射的注入器. * ltsv -高性能 LTSV (Labeled Tab Separeted Value) Go的阅读器. * mxj -将XML编码/解码为JSON或map [string] interface {}; 提取带点符号路径和通配符的值. 替换x2j和j2x软件包. * sdp -SDP:会话描述协议 [RFC 4566]. * sh -Shell解析器和格式化程序. * slug -支持URL的Slugify具有多种语言支持. * Slugify -去处理字符串的slugify应用程序. * syndfeed -Atom 1.0和RSS 2.0的联合供稿. * toml -TOML配置格式(带反射的编码器/解码器). * 效用 * gofuckyourself -用于Go的基于消毒的发誓过滤器. * gotabulate -使用Go轻松漂亮地打印表格数据. * kace -涵盖常见首字母缩写的常见案例转换. * parseargs-go -理解引号和反斜杠的字符串参数解析器. * parth -URL路径分段解析. * radix -快速的字符串排序算法. * Tagify -从给定的来源产生一组标签. * textwrap -从Python实现textwrap模块. * TySug -关于键盘布局的替代建议. * xj2go -将xml或json转换为struct. * xurls -从文本中提取网址.

Third-party APIs

*用于访问第三方API的库.

Utilities

使您的生活更轻松的通用工具和工具.

  • apm -具有HTTP API的Golang应用程序的进程管理器.
  • backscanner -类似于bufio.Scanner的扫描仪,但是它以相反的顺序读取和返回行,从给定位置开始并向后移动.
  • blank -验证或删除字符串中的空格和空格.
  • boilr -快速,快速的CLI工具,用于从样板模板创建项目.
  • chyle -使用git存储库的Changelog生成器具有多种配置可能性.
  • circuit -断路器模式的高效且功能完整的Hystrix like Go实现.
  • circuitbreaker -Go中的断路器.
  • clockwork -用于golang的简单假时钟.
  • cmd -在osx,windows和linux上执行shell命令的库.
  • command -具有线程安全串行和并行调度程序的Go的命令模式.
  • copy-pasta -使用后端等S3进行存储的通用多工作站剪贴板.
  • ctop - Top-like 容器指标的界面(例如htop).
  • ctxutil -上下文的实用程序功能的集合.
  • dbt -一种用于从中央可信存储库运行自更新签名二进制文件的框架.
  • Death -通过信号管理go应用程序关闭.
  • Deepcopier -Go的简单结构复制.
  • delve -调试器.
  • dlog -编译时控制的记录器,可在不删除调试调用的情况下缩小发行版.
  • ergo -管理通过不同端口运行的多个本地服务变得容易.
  • evaluator -基于s表达式动态评估表达式. 它很容易扩展.
  • filetype -小型包装,可推断检查魔术数字签名的文件类型.
  • filler -使用“ fill”标签填充结构的小型实用程序.
  • filter -提供Go数据的过滤,清理和转换.
  • fzf -用Go编写的命令行模糊查找器.
  • gaper -当Go项目崩溃或某些观看的文件更改时,生成并重新启动它.
  • generate -运行go在指定的路径或环境变量上递归生成,并且可以通过正则表达式进行过滤.
  • ghokin -并行格式化程序,没有黄瓜的外部依赖关系(黄瓜,behat ...).
  • git-time-metric -简单,无缝,轻量级的Git时间跟踪.
  • go-astitodo -在您的GO代码中解析TODO.
  • go-bind-plugin -go:generate工具,用于包装由golang插件导出的符号(仅适用于1.8).
  • go-bsdiff -纯Go bsdiff和bspatch库以及CLI工具.
  • go-dry -干燥(请勿重复)Go包装.
  • go-funk -现代Go实用程序库,可提供帮助程序(映射,查找,包含,过滤器,块,反向等).
  • go-health -运行状况软件包简化了将运行状况检查添加到服务的方式.
  • go-httpheader -Go库,用于将结构编码为Header字段.
  • go-problemdetails -用于处理“问题详细信息”的软件包.
  • go-rate -定时限速器.
  • go-sitemap-generator -用Go语言编写的XML Sitemaps生成器.
  • go-trigger -Go-lang全局事件触发程序,使用ID注册事件并从项目的任何位置触发事件.
  • goback -使用简单的指数补偿程序包.
  • godaemon -编写守护程序的实用程序.
  • godropbox -用于从Dropbox编写Go服务/应用程序的通用库.
  • gohper -各种工具/模块有助于开发.
  • golarm -带有系统事件的火警.
  • golog -简单,轻量级的CLI工具,可定时跟踪您的任务.
  • gopencils -小型且简单的程序包,可轻松使用REST API.
  • goplaceholder -一个小的golang库,用于生成占位符图像.
  • goreadability -使用Facebook Open Graph和arc90的可读性的网页摘要提取器.
  • goreleaser -尽可能快速,轻松地交付Go二进制文件.
  • goreporter -Golang工具,可进行静态分析,单元测试,代码审查并生成代码质量报告.
  • goseaweedfs -具有几乎全部功能的SeaweedFS客户端库.
  • gostrutils -字符串操作和转换函数的集合.
  • gotenv -在Go中从.env或任何io.Reader加载环境变量.
  • gpath -通过Go的表达来简化访问结构字段的库.
  • gubrak -Golang实用程序库,带有语法糖. 就像lodash,但对于golang.
  • handy -许多实用程序和帮助程序,例如字符串处理程序/格式化程序和验证程序.
  • htcat -并行和流水线HTTP GET实用程序.
  • hub -使用其他功能包装git命令,以从终端与github交互.
  • hystrix-go -实现了程序员定义的后备aka断路器的Hystrix模式.
  • immortal - * nix跨平台(与OS无关)主管.
  • intrinsic -使用x86 SIMD而不编写任何汇编代码.
  • jump -跳跃帮助您通过学习习惯来更快地导航.
  • koazee -从懒惰评估和函数式编程中汲取灵感的库,消除了处理数组的麻烦.
  • limiters -Golang分布式应用程序的速率限制器,具有可配置的后端和分布式锁.
  • lrserver -用于Go的LiveReload服务器.
  • mc -Minio Client提供了与Amazon S3兼容的云存储和文件系统一起使用的最少工具.
  • mergo -在Golang中合并结构和地图的助手. 对于配置默认值很有用,避免了混乱的if语句.
  • mimemagic -Pure Go高性能MIME嗅探库/实用程序.
  • mimesniffer -Go的MIME类型嗅探器.
  • mimetype -用于基于幻数的MIME类型检测的软件包.
  • minify -HTML,CSS,JS,XML,JSON和SVG文件格式的快速消除器.
  • minquery -支持高效分页的MongoDB / mgo.v2查询(光标继续列出我们停下来的文档).
  • mmake -现代品牌.
  • moldova -用于基于输入模板生成随机数据的实用程序.
  • mole -cli应用程序可轻松创建ssh隧道.
  • mssqlx -数据库客户端库,任何主从服务器的代理,主主机结构. 轻巧且自动平衡.
  • multitick -多路复用器,用于对齐的行情.
  • myhttp -简单的API,可通过超时支持发出HTTP GET请求.
  • okrun -去运行错误压路机.
  • olaf -Go中实现了Twitter Snowflake.
  • onecache -缓存库,支持多个后端存储(Redis,Memcached,文件系统等).
  • panicparse -将类似的goroutine分组并为堆栈转储着色.
  • peco -简化的交互式过滤工具.
  • pgo -PHP社区的便捷功能.
  • pm -具有HTTP API的进程(即goroutine)管理器.
  • rclient -用于REST API的可读,灵活,易于使用的客户端.
  • realize -使用文件监视程序构建系统并实时重新加载. 使用自定义路径运行,构建和监视文件更改.
  • repeat -实施不同的退避策略,对重试操作和心跳很有用.
  • request -进行人类HTTP请求.
  • rerate -Go的基于Redis的速率计数器和速率限制器.
  • rerun -当源更改时,重新编译并重新运行go应用.
  • rest-go -提供用于使用rest api的许多有用方法的软件包.
  • retry -最先进的功能机制,可以重复执行操作直到成功.
  • retry -一个简单但可高度配置的Go重试包.
  • retry -Go的简单易用的重试机制包.
  • retry -一个非常简单的库,确保您可以完成工作.
  • retry-go -重试让golang简单易行.
  • robustly -弹性运行功能,捕获并重新启动紧急情况.
  • scan -直接扫描golangsql.Rows到结构,切片或基本类型.
  • serve -您需要的任何位置的静态http服务器.
  • shutdown -用于OS.Signal处理的应用程序关闭挂钩.
  • silk -读取丝网流文件.
  • sliceconv -基本类型之间的切片转换.
  • slicer -使切片操作更加轻松.
  • spinner -打包即可轻松地为终端旋转器提供选项.
  • sqlx -在出色的内置数据库/ sql软件包的基础上提供了一组扩展.
  • sslice -创建一个始终排序的切片.
  • Storm -用于BoltDB的简单而强大的工具包.
  • structs -实现简单的功能来操纵结构.
  • Task -简单的“制作”替代.
  • toolbox - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.
  • ugo -ugo是带有Go简洁语法的切片工具箱.
  • UNIS -Go中字符串实用程序的Common Architecture™.
  • usql -usql是SQL数据库的通用命令行界面.
  • util -收集有用的实用程序功能. (字符串,并发,操作等).
  • wuzz -用于HTTP检查的交互式cli工具.
  • xferspdy -Xferspdy在golang中提供了二进制差异和补丁库.

UUID

使用UUID的库.

  • goid -生成并解析符合RFC4122的V4 UUID.
  • nanoid -微型高效的Go唯一字符串ID生成器.
  • sno -具有嵌入式元数据的紧凑,可排序和快速的唯一ID.
  • ulid -实施ULID(通用唯一词典分类排序标识符).
  • uniq -无需麻烦,安全,快速的命令唯一标识符.
  • uuid -使用快速或具有加密质量的随机节点标识符生成,编码和解码UUID v1.
  • uuid -通用唯一标识符(UUID)的实现. 支持创建和解析UUID. 积极维护satori uuid的叉子.
  • wuid -极其快速的唯一数字生成器,比UUID快10-135倍.

Validation

用于验证的库.

  • checkdigit -提供校验位算法(Luhn,Verhoeff,Damm)和计算器(ISBN,EAN,JAN,UPC等).
  • govalidator -用于字符串,数字,切片和结构的验证器和消毒器.
  • govalidator -使用简单的规则验证Golang请求数据. 受到Laravel请求验证的极大启发.
  • jio -jio是类似于json模式验证器 joi.
  • ozzo-validation -支持使用在常规代码构造中指定的可配置和可扩展验证规则(而不是struct标签)验证各种数据类型(结构,字符串,映射,切片等).
  • terraform-validator -Terraform的规范和约定验证器.
  • validate -进行数据验证和过滤的软件包. 支持验证Map,Struct,Request(Form,JSON,url.Values,Uploaded Files)数据和更多功能.
  • validate -该软件包提供了用于编写Go应用程序验证的框架.
  • validator -进行结构和野外验证,包括交叉场,交叉结构,地图,切片和阵列潜水.

Version Control

用于版本控制的库.

  • gh -用于GitHub Webhooks的可编写脚本的服务器和net / http中间件.
  • git2go -转到libgit2的绑定.
  • go-git -在纯Go中高度可扩展的Git实现.
  • go-vcs -在Go中操作和检查VCS存储库.
  • hercules -从Git储存库历史中获得高级见解.
  • hgo -Hgo是Go软件包的集合,提供对本地Mercurial存储库的读取访问.

Video

用于处理视频的库.

  • gmf -为 *库的FFmpeg进行绑定.
  • go-astisub -在GO中操作字幕(.srt,.stl,.ttml,.webvtt,.ssa / .ass,图文电视,.smi等).
  • go-astits -在GO中本地解析和解复用MPEG传输流(.ts).
  • go-m3u8 -Apple m3u8播放列表的解析器和生成器库.
  • goav -FFmpeg的全面Go绑定.
  • gst -为GStreamer进行绑定.
  • libgosubs -支持字幕格式. 支持.srt,.ttml和.ass.
  • libvlc-go -转到libvlc 2.X / 3.X / 4.X的绑定(由VLC媒体播放器使用).
  • m3u8 -Apple HLS的M3U8播放列表的解析器和生成器库.
  • v4l -用Go编写的Linux视频捕获库.

Web Frameworks

全栈Web框架

  • aah -用于Go的可扩展,高性能,快速开发的Web框架.
  • Aero -用于Go的高性能Web框架,在Lighthouse中得分最高.
  • Air -Go的理想完善的Web框架.
  • Banjo -非常简单,快速的Go Web框架.
  • Beego -beego是用于Go编程语言的开源高性能Web框架.
  • Buffalo -提高Rails的生产力!
  • Echo -高性能,简约的Go Web框架.
  • Fireball -更具“自然”感觉的Web框架.
  • Flamingo -可插拔Web项目的框架. 包括模块概念并提供DI,Configareas,i18n,模板引擎,graphql,可观察性,安全性,事件,路由和反向路由等功能.
  • Gin -Gin是用Go语言编写的Web框架! 它具有类似于martini的API,性能更高,速度最高可提高40倍. 如果您需要性能和良好的生产率.
  • Ginrpc -Gin参数自动绑定工具,gin rpc工具.
  • Gizmo -纽约时报使用的微服务工具包.
  • go-json-rest -设置RESTful JSON API的快速简便方法.
  • go-rest -Go的小巧的REST框架.
  • Goa -Goa提供了用于在Go中开发远程API和微服务的整体方法.
  • goa -goa就像golang的koajs一样,它是一个基于中间件的灵活,轻便,高性能和可扩展的Web框架.
  • Golax -非Sinatra快速HTTP框架,支持Google自定义方法,深度拦截器,递归等.
  • Golf -Golf是Go的快速,简单和轻量级的微型Web框架. 它具有强大的功能,除了Go标准库外没有其他依赖项.
  • Gondola -用于更快地编写网站的Web框架.
  • gongular -具有输入映射/验证和(DI)依赖注入的Fast Go Web框架.
  • hiboot -hiboot是具有自动配置和依赖项注入支持的高性能Web应用程序框架.
  • Macaron - Macaron is a high productive and modular design web framework in Go.
  • mango -Mango是受Rack和PEP333启发的Go的模块化Web应用程序框架.
  • Microservice -用Golang编写的用于创建微服务的框架.
  • neo -Neo是使用极简单的API的最小且快速的Go Web框架.
  • patron -Patron是遵循最佳云实践并注重生产力的微服务框架.
  • Resoursea -用于快速编写基于资源的服务的REST框架.
  • REST Layer -用于在数据库之上构建REST / GraphQL API的框架,主要通过代码进行配置.
  • Revel -Go语言的高效Web框架.
  • rex -Rex是一个基于大猩猩/ mux进行模块化开发的库,与`net / http'完全兼容.
  • rux -用于构建golang HTTP应用程序的简单快速的Web框架.
  • tango -Go的微型和可插入Web框架.
  • tigertonic -受Dropwizard启发的用于构建JSON Web服务的框架.
  • uAdmin -受Django启发,功能全面的Golang Web框架.
  • utron -用于Go(Golang)的轻量级MVC框架.
  • vox -受Koa大力启发的golang网络框架.
  • WebGo -建立网络应用程序的微框架; 与处理程序链接,中间件和上下文注入. 使用符合标准库的HTTP处理程序(即http.HandlerFunc).
  • YARF -快速的微框架,旨在以快速,简单的方式构建REST API和Web服务.

Middlewares

Actual middlewares

  • client-timing -用于服务器计时标头的HTTP客户端.
  • CORS -轻松将CORS功能添加到您的API.
  • formjson -以标准形式POST透明地处理JSON输入.
  • go-server-timing -添加/解析Server-Timing标头.
  • Limiter -Go的简单简单速率限制中间件.
  • ln-paywall -使用中间件,通过Lightning Network(比特币)按请求在API上获利.
  • Tollbooth -速率限制HTTP请求处理程序.
  • XFF - Handle X-Forwarded-For header and friends.

Libraries for creating HTTP middlewares

  • alice -Go的无痛中间件链接.
  • catena -http.Handler包装器类别(与“链”相同的API).
  • chain -带范围数据的处理程序包装器链(基于net / context的“中间件”).
  • go-wrap -用于net / http的小型中间件软件包.
  • gores -处理HTML,JSON,XML等响应的Go包. 对于RESTful API很有用.
  • interpose -用于golang的极简net / http中间件.
  • muxchain -用于net / http的轻量级中间件.
  • negroni -Golang的惯用HTTP中间件.
  • render -Go包,可轻松呈现JSON,XML和HTML模板响应.
  • renderer -用于Go的简单,轻量和更快的响应(JSON,JSONP,XML,YAML,HTML,文件)渲染包.
  • rye -支持JWT,CORS,Statsd和Go 1.7上下文的Tiny Go中间件库(带有罐装中间件).
  • stats -可以存储有关您的Web应用程序的各种信息的中间件.

Routers

  • alien -来自太空的轻量级快速http路由器.
  • bellt -一个简单的Go HTTP路由器.
  • Bone -闪电快速HTTP多路复用器.
  • Bxog -用于Go的简单快速的HTTP路由器. 它适用于难度,长度和嵌套不同的路线. 而且他知道如何根据接收到的参数创建URL.
  • chi -基于net / context的小型,快速且富有表现力的HTTP路由器.
  • fasthttprouter -从“ httprouter”派生的高性能路由器. 第一个适用于fasthttp的路由器.
  • FastRouter -用Go语言编写的快速,灵活的HTTP路由器.
  • gocraft/web -Go中的Mux和中间件软件包.
  • Goji -Goji是一种简约灵活的HTTP请求多路复用器,支持net / context.
  • goroute -简单但功能强大的HTTP请求多路复用器.
  • GoRouter -GoRouter是一种服务器/ API微型框架,HTTP请求路由器,多路复用器,多路复用器,为请求路由器提供支持“ net / context”的中间件.
  • gowww/router -快速的HTTP路由器与net / http.Handler接口完全兼容.
  • httprouter -高性能路由器. 使用它和标准的http处理程序可以形成一个非常高性能的Web框架.
  • httptreemux -用于Go的高速,灵活的基于树的HTTP路由器. 来自httprouter的启发.
  • lars -是用于Go的轻量级,快速和可扩展的零分配HTTP路由器,用于创建可自定义的框架.
  • mux -强大的Golang URL路由器和调度程序.
  • ozzo-routing -非常快速的Go(golang)HTTP路由器,支持正则表达式路由匹配. 附带对构建RESTful API的全面支持.
  • pure -是一种轻量级HTTP路由器,坚持使用std“ net / http”实现.
  • Siesta -编写中间件和处理程序的可组合框架.
  • vestigo -用于go Web应用程序的高性能,独立的,HTTP兼容的URL路由器.
  • violetear -转到HTTP路由器.
  • xmux -基于httprouternet / context支持的高性能复用器.
  • xujiajun/gorouter -用于Go的简单快速的HTTP路由器.

Windows

  • d3d9 -去Direct3D9的绑定.
  • go-ole - Win32的OLE实施golang.
  • gosddl -从SDDL字符串转换为用户友好的JSON. SDDL由四部分组成:所有者,主要组,DACL,SACL.

XML

*用于处理XML的库和工具.

  • XML-Comp -简单的命令行XML比较器,可生成文件夹,文件和标签的差异.
  • xml2map -XML到MAP转换器的Golang编写的转换器.
  • xmlwriter -基于libxml2的xmlwriter模块的过程XML生成API.
  • xpath -Go的XPath软件包.
  • xquery -XQuery使您可以使用XPath表达式从HTML / XML文档中提取数据.
  • zek -从XML生成Go结构.

Tools

软件和插件.

Code Analysis

  • apicompat -检查最近对Go项目所做的更改是否存在向后不兼容的更改.
  • dupl -代码克隆检测工具.
  • errcheck -Errcheck是用于检查Go程序中未经检查的错误的程序.
  • gcvis -实时可视化Go程序GC跟踪数据.
  • go-checkstyle -checkstyle是样式检查工具,例如java checkstyle. 该工具的灵感来自java checkstyle golint. 该样式涉及“ Go Code评论注释”中的某些要点.
  • go-cleanarch -创建go-cleanarch是为了验证Clean Architecture规则,例如Dependency Rule和Go项目中程序包之间的交互.
  • go-critic -源代码linter,它带来当前在其他linter中未实现的检查.
  • go-mod-outdated -一种轻松的方法来查找Go项目的过时依赖项.
  • go-outdated -显示过期软件包的控制台应用程序.
  • goast-viewer - 基于Web的Golang AST可视化.
  • GoCover.io -GoCover.io提供任何golang软件包即服务的代码覆盖率.
  • goimports -自动修复(添加,删除)Go导入的工具.
  • GolangCI -GolangCI是针对GitHub拉取请求的自动化Golang代码检查服务. 服务是开源的,对于开源项目是免费的.
  • GoLint -Golint是Go源代码的基础.
  • Golint online -使用golint软件包在GitHub,Bitbucket和Google Project Hosting上在线收集Go的源文件.
  • GoPlantUML -生成文本Plantump类图的库和CLI,该类图包含有关结构和接口以及它们之间的关系的信息.
  • goreturns -添加零值返回语句以匹配func返回类型.
  • gosimple -gosimple是Go源代码的linter,专门研究简化代码.
  • gostatus -命令行工具,显示包含Go软件包的存储库的状态.
  • lint -将短毛绒作为围棋测试的一部分.
  • php-parser -用Go编写的PHP解析器.
  • staticcheck - staticcheck is go vet on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.
  • tarp -tarp在Go源代码中查找没有直接单元测试的函数和方法.
  • unconvert -从Go源代码中删除不必要的类型转换.
  • unused -未使用的检查在代码中查找未使用的常量,变量,函数和类型.
  • validate -使用标签自动验证结构字段.

Editor Plugins

  • Go plugin for JetBrains IDEs -用于JetBrains IDE的Go插件.
  • go-language-server -将VSCode go扩展名转换为支持language-server-protocol的语言服务器的包装器.
  • go-mode -GNU / Emacs的进入模式.
  • go-plus -Go(Golang)原子软件包,其中添加了自动完成,格式设置,语法检查,整理和审核.
  • gocode -Go编程语言的自动补全守护程序.
  • goprofiling -此扩展在VS Code中添加了对Go语言的基准分析支持.
  • GoSublime -用于文本编辑器SublimeText 3的Golang插件集合,提供代码完成和其他类似IDE的功能.
  • gounit-vim -Vim插件,用于基于函数或方法的签名生成Go测试.
  • theia-go-extension -对Theia IDE的语言支持.
  • vim-compiler-go -Vim插件可突出显示保存时的语法错误.
  • vim-go -Go Vim开发插件.
  • vscode-go -Visual Studio Code(VS Code)扩展,提供对Go语言的支持.
  • Watch -在文件更改时以极致优势运行命令.

Go Generate Tools

  • generic -Go的灵活数据类型.
  • genny -优雅的仿制药.
  • gocontracts -通过使代码与文档同步来实现按合同设计.
  • gonerics -Go中的惯用泛型.
  • gotests -从您的源代码生成Go测试.
  • gounit -使用您自己的模板生成Go测试.
  • hasgo -为您的切片生成Haskell启发的函数.
  • re2dfa -将正则表达式转换成有限状态机并输出Go源代码.
  • TOML-to-Go -在浏览器中立即将TOML转换为Go类型.

Go Tools

  • colorgo -在go命令周围的包装器,用于着色go build输出.
  • depth -通过分析导入可视化任何程序包的依赖关系树.
  • gb -易于使用的Go编程语言基于项目的构建工具.
  • generator-go-lang - 一种 Yeoman 生成器来启动新的Go项目.
  • gilbert -为Go项目构建系统和任务运行器.
  • go-callvis -使用点格式可视化Go程序的调用图.
  • go-pkg-complete -去和去的Bash完成.
  • go-swagger -Swagger 2.0实现. Swagger是RESTful API的简单但功能强大的表示形式.
  • godbg -实现Rustsdbg!宏,以便在开发过程中快速轻松地进行调试.
  • OctoLinker -使用GitHub的OctoLinker浏览器扩展有效地浏览go文件.
  • richgo -丰富带有文本装饰的“ go test”输出.
  • rts -RTS:对结构的响应. 从服务器响应生成Go结构.

Software Packages

用Go编写的软件.

DevOps Tools

  • aptly -恰恰是Debian仓库管理工具.
  • aurora -基于Web的跨平台Beanstalkd队列服务器控制台.
  • awsenv -小型二进制文件,用于为配置文件加载Amazon(AWS)环境变量.
  • Blast -用于API负载测试和批处理作业的简单工具.
  • bombardier -快速的跨平台HTTP基准测试工具.
  • bosun -时间序列警报框架.
  • DepCharge -帮助协调跨大型项目中许多依赖项的命令执行.
  • Dockerfile-Generator -一个go库和一个可执行文件,该可执行文件使用各种输入通道生成有效的Dockerfile.
  • dogo -监视源文件中的更改并自动编译和运行(重新启动).
  • drone-jenkins -使用二进制文件,泊坞窗或Drone CI触发下游Jenkins作业.
  • drone-scp -使用二进制文件,docker或Drone CI通过SSH复制文件和工件.
  • Dropship -通过CDN部署代码的工具.
  • easyssh-proxy -Golang软件包,可通过SSH和SCP通过ProxyCommand下载轻松实现远程执行.
  • fac -修复git合并冲突的命令行用户界面.
  • gaia -以任何编程语言构建强大的管道.
  • Gitea -Gogs的叉子,完全由社区驱动.
  • gitea-github-migrator -将所有GitHub存储库,问题,里程碑和标签迁移到Gitea实例.
  • go-furnace -用Go编写的托管解决方案. 在AWS,GCP或DigitalOcean上轻松部署应用程序.
  • go-selfupdate -使Go应用程序能够自我更新.
  • gobrew -gobrew可让您轻松地在多个版本的go之间切换.
  • godbg -基于Web的gdb前端应用程序.
  • Gogs -Go编程语言的自托管Git服务.
  • gonative -创建Go的版本的工具,该版本可以交叉编译到所有平台,同时仍使用启用了Cgo的stdlib软件包版本.
  • govvv -“ go build”包装器,可轻松将版本信息添加到Go二进制文件中.
  • gox -死法简单,没有多余的装饰可以交叉编译工具.
  • goxc -为Go构建工具,重点是交叉编译和打包.
  • grapes -轻巧的工具,旨在通过ssh轻松分发命令.
  • GVM -GVM提供了管理Go版本的界面.
  • Hey -嘿,这是个很小的程序,它将一些负载发送到Web应用程序.
  • jcli -Jenkins CLI使您可以轻松管理Jenkins.
  • kala -简单,现代,高效的工作计划程序.
  • kcli -用于检查kafka主题/分区/消息的命令行工具.
  • kubernetes -来自Google的Container Cluster Manager.
  • lstags -跨不同注册表同步Docker映像的工具和API.
  • lwc -UNIX wc命令的实时更新版本.
  • manssh -manssh是用于轻松管理ssh别名配置的命令行工具.
  • Moby -容器生态系统的协作项目,以组装基于容器的系统.
  • Mora -用于访问MongoDB文档和元数据的REST服务器.
  • ostent -收集并显示系统指标,并可选地中继到Graphite和/或InfluxDB.
  • Packer -Packer是一个工具,可从一个源配置为多个平台创建相同的机器映像.
  • Pewpew -灵活的HTTP命令行压力测试仪.
  • Pomerium -Pomerium是一个身份识别访问代理.
  • Rodent -啮齿动物可帮助您管理Go版本,项目并跟踪依赖关系.
  • s3gof3r -优化的小型实用程序/库,可用于将大型对象高速传输到Amazon S3和从Amazon S3传输出来.
  • Scaleway-cli -从命令行管理BareMetal服务器(与Docker一样容易).
  • script -轻松在Go中为DevOps和系统管理任务编写类似shell的脚本.
  • sg -对一组HTTP端点(例如ab)进行基准测试,并可以根据其先前的响应在每次调用之间将响应代码和数据用于特定的服务器压力.
  • skm -SKM是一个简单而强大的SSH密钥管理器,它可以帮助您轻松管理多个SSH密钥!
  • StatusOK -监视您的网站和REST API.当服务器关闭或响应时间超出预期时,通过Slack,电子邮件获得通知.
  • terraform-provider-openapi -Terraform provider插件,该插件根据包含公开API定义的OpenAPI文档(以前称为swagger文件)在运行时动态进行自我配置.
  • traefik -反向代理和负载均衡器,支持多个后端.
  • Vegeta -HTTP负载测试工具和库. 超过9000!
  • webhook -允许用户创建在服务器上执行命令的HTTP端点(挂钩)的工具.
  • Wide -使用Golang的团队的基于Web的IDE.
  • winrm-cli -Cli工具,可在Windows计算机上远程执行命令.

Other Software

  • borg -基于终端的bash片段搜索引擎.
  • boxed -基于Dropbox的博客引擎.
  • Cherry -Go中的微型网聊服务器.
  • Circuit -Circuit是可编程的平台即服务(PaaS)和/或基础架构即服务(IaaS),用于管理,发现,同步和编排包含云应用程序的服务和主机.
  • Comcast -模拟不良的网络连接.
  • confd -使用来自etcd或领事的模板和数据来管理本地应用程序配置文件.
  • croc -轻松安全地将文件或文件夹从一台计算机发送到另一台计算机.
  • DDNS -以Digital Ocean Networking DNS为后端的个人DDNS客户端.
  • Docker -为开发人员和系统管理员提供分布式应用程序的开放平台.
  • Documize -集成了SaaS工具数据的现代Wiki软件.
  • drive -命令行的Google云端硬盘客户端.
  • Duplicacy -基于无锁重复数据删除思想的跨平台网络和云备份工具.
  • gfile -通过WebRTC在没有任何第三方的情况下在两台计算机之间安全地传输文件.
  • Go Package Store -在您的GOPATH中显示Go软件包更新的应用.
  • go-peerflix -视频流洪流客户端.
  • GoBoy -用Go编写的Nintendo Game Boy Color模拟器.
  • gocc -Gocc是用Go编写的Go编译器套件.
  • GoDNS -动态的DNS客户端工具,支持用Go编写的DNSPod和HE.net.
  • GoDocTooltip -Go Doc网站的Chrome扩展程序,在功能列表中以工具提示的形式显示功能说明.
  • GoLand -功能齐全的跨平台Go IDE.
  • Gor -Http流量复制工具,用于实时重放从生产到阶段/开发环境的流量.
  • hugo -快速和现代的静态网站引擎.
  • ide -浏览器可访问的IDE. 专为Go而设计.
  • ipe -与GO编写的Pusher客户端库兼容的开源Pusher服务器实现.
  • joincap -用于将多个pcap文件合并在一起的命令行实用程序.
  • Juju -与云无关的服务部署和编排-支持EC2,Azure,Openstack,MAAS等.
  • Leaps -使用操作转换对编程服务进行配对.
  • lgo -使用Jupyter进行交互式Go编程. 它支持代码完成,代码检查和100%Go兼容性.
  • limetext -Lime Text是一款功能强大且优雅的文本编辑器,主要是在Go中开发的,旨在成为Sublime Text的免费开源软件继任者.
  • LiteIDE -LiteIDE是一个简单的,开源的,跨平台的Go IDE.
  • mockingjay -从一个配置文件中伪造HTTP服务器和消费者驱动的合同. 您还可以使服务器随机出现异常行为,以帮助进行更实际的性能测试.
  • myLG -用Go语言编写的命令行网络诊断工具.
  • naclpipe -用Go语言编写的基于NaCL EC25519的简单加密管道工具.
  • nes -用Go编写的Nintendo Entertainment System(NES)模拟器.
  • orange-cat -用Go编写的Markdown预览器.
  • Orbit -用于运行命令并从模板生成文件的简单工具.
  • peg -Peg,解析表达式语法,是Packrat解析器生成器的实现.
  • Pipe -小型美观的博客平台.
  • restic -对备份程序进行重复数据删除.
  • scc -Sloc Cloc and Code,一个非常快速的准确代码计数器,具有复杂度计算和COCOMO估计.
  • Seaweed File System -具有O(1)磁盘查找功能的快速,简单和可扩展的分布式文件系统.
  • shell2http -通过http服务器执行shell命令(用于原型制作或远程控制).
  • snap -强大的遥测框架.
  • Snitch -当有人通过Tsuru部署了任何应用程序时,通知您的团队和许多工具的简单方法.
  • Stack Up -Stack Up,一个非常简单的部署工具-仅限于Unix-将其视为服务器网络的“ make”.
  • syncthing -开放,分散的文件同步工具和协议.
  • term-quiz -为您的终端进行测验.
  • toxiproxy -代理以模拟网络和系统条件以进行自动化测试.
  • tsuru -可扩展的开源平台即服务软件.
  • vFlow -高性能,可扩展且可靠的IPFIX,sFlow和Netflow收集器.
  • wellington -Sass项目管理工具,通过Sprite函数(如Compass)扩展了语言.

Resources

*在哪里发现新的Go库.

Benchmarks

Conferences

E-Books

Gophers

Meetups

在此处添加您所在城市/国家/地区的组(发送 PR

Twitter

Websites

Tutorials