Go框架,库和软件的精选列表

2018最新精选的Go框架,库和软件的精选列表 一 https://awesome-go.com/

2018最新精选的Go框架,库和软件的精选列表 二 https://awesome-go.com/

2018最新精选的Go框架,库和软件的精选列表 三 https://awesome-go.com/

2018最新精选的Go框架,库和软件的精选列表 四 https://awesome-go.com/

作者:承诺一时的华丽
链接:https://www.jianshu.com/p/609f525558a4
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

96 承诺一时的华丽

音频和音乐

用于操纵音频的库。

  • flac - Native Go FLAC解码器。
  • flac - Native Go FLAC解码器。
  • gaad - Native Go AAC比特流解析器。
  • go-sox - 用于go的libsox绑定。
  • go_mediainfo - 用于go的libmediainfo绑定。
  • gosamplerate - 用于go的libsamplerate绑定。
  • id3v2 - Go的快速稳定的ID3解析和编写库。
  • malgo - 迷你音频库。
  • minimp3 - 轻量级MP3解码器库。
  • mix - 用于音乐应用的基于序列的Go-native音频混音器。
  • mp3 - Native Go MP3解码器。
  • 音乐理论 - Go中的音乐理论模型。
  • PortAudio - 用于PortAudio音频I / O库的绑定。
  • portmidi - 为PortMidi绑定绑定。
  • taglib - 用于taglib的绑定。
  • vorbis - “Native”Go Vorbis解码器(使用CGO,但没有依赖关系)。
  • 波形 - Go包能够从音频流生成波形图像。

身份验证和OAuth

用于实现认证方案的库。

  • authboss - 用于Web的模块化身份验证系统。它试图删除尽可能多的样板和“硬件”,以便每次在Go中启动新的Web项目时,您都可以插入,配置和开始构建应用程序,而无需每次都构建一个身份验证系统。
  • casbin - 支持ACL,RBAC,ABAC等访问控制模型的授权库。
  • cookiestxt - 提供cookies.txt文件格式的解析器。
  • Go-AWS-Auth - AWS(亚马逊网络服务)请求签名库。
  • 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身份验证中间件。
  • jwt - 清晰易用的JSON Web令牌(JWT)实现。
  • jwt-auth - 用于Golang http服务器的JWT中间件,具有许多配置选项。
  • jwt-go - JSON Web令牌(JWT)的Golang实现。
  • loginsrv - 具有可插拔后端的JWT登录微服务,如OAuth2(Github),htpasswd,osiam。
  • oauth2 - goauth2的继承者。JWT,Google API,计算引擎和App Engine支持附带的通用OAuth 2.0软件包。
  • osin - Golang OAuth2服务器库。
  • permissions2 - 用于跟踪用户,登录状态和权限的库。使用安全cookie和bcrypt。
  • securecookie - 高效的安全cookie编码/解码。
  • session - 进行Web服务器的会话管理(包括对Google App Engine的支持 - GAE)。
  • sessiongate-go - 使用SessionGate Redis模块进行会话管理。
  • sessions - 为http服务器提供简单,高性能,高度可定制的会话服务。
  • yubigo - Yubikey客户端软件包,提供简单的API,将Yubico Yubikey集成到go应用程序中。

命令行

标准CLI

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

  • argparse - 受Python的argparse模块启发的命令行参数解析器。
  • argv - 使用bash语法将库命令行字符串拆分为参数数组。
  • cli - 基于golang结构标记的功能丰富且易于使用的命令行包。
  • cli - 用于在Go中构建命令行界面的简单而完整的API。
  • cli-init - 开始构建Golang命令行应用程序的简便方法。
  • 高潮 - 以Go命令的精神,以“人脸”替代CLI。
  • cobra - 现代Go CLI交互的指挥官。
  • commandeer - 开发人员友好的CLI应用程序:根据结构字段和标记设置标志,默认值和用法。
  • 完成 - 在Go + Go命令bash完成中写入bash完成。
  • docopt.go - 命令行参数解析器,它会让你微笑。
  • drive - 命令行的Google Drive客户端。
  • env - 结构的基于标记的环境配置。
  • flag - Go支持子命令的简单但功能强大的命令行选项解析库。
  • go-arg - Go中基于Struct的参数解析。
  • go-flags - go命令行选项解析器。
  • kingpin - 支持子命令的命令行和标志解析器。
  • liner - 用于命令行界面的类似readline的库。
  • mitchellh / cli - 用于实现命令行界面的库。
  • mow.cli - 使用复杂的标志和参数解析和验证来构建用于构建CLI应用程序的库。
  • pflag - Go的标志包的替代品,实现POSIX / GNU样式 - 标志。
  • readline - 纯粹的golang实现,在MIT许可下提供GNU-Readline中的大多数功能。
  • sflags - 用于flag,urfave / cli,pflag,cobra,kingpin和其他库的基于struct的标志生成器。
  • strumt - 图书馆创建提示链。
  • ukautz / clif - 小命令行界面框架。
  • urfave / cli - 用于在Go(以前的codegangsta / cli)中构建命令行应用程序的简单,快速和有趣的包。
  • wlog - 支持跨平台颜色和并发的简单日志记录接口。
  • wmenu - 易于使用的cli应用程序菜单结构,提示用户做出选择。

高级控制台UI

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

  • 极光 - 支持fmt.Printf / Sprintf的ANSI终端颜色。
  • chalk - 用于美化终端/控制台输出的直观包装。
  • color - 用于彩色终端输出的多功能包装。
  • colourize - 在终端中使用ANSI颜色文本库。
  • go-ataman - Go库,用于在终端中呈现ANSI彩色文本模板。
  • go-colorable - Windows的着名作家。
  • go-colortext - 转到终端的颜色输出库。
  • go-isatty - golang的isatty。
  • gocui - Minimalist Go库旨在创建控制台用户界面。
  • gommon / color - 样式终端文本。
  • mpb - 终端应用程序的多进度条。
  • progressbar - 适用于每个操作系统的基本线程安全进度条。
  • termbox-go - Termbox是一个用于创建跨平台基于文本的界面的库。
  • termtables - 用于简单ASCII表生成的Ruby库终端表的端口,以及提供markdown和HTML输出。
  • termui - 基于termbox-go的终端仪表板,灵感来自blessed-contrib
  • tui-go - 用于构建富终端应用程序的UI库。
  • uilive - 用于实时更新终端输出的库。
  • uiprogress - 灵活的库,用于在终端应用程序中渲染进度条。
  • uitable - 使用表格数据提高终端应用程序可读性的库。

组态

用于配置解析的库。

  • config - 带有环境变量和标志解析的JSON或YAML配置包装器。
  • configure - 通过多个源提供配置,包括JSON,标志和环境变量。
  • env - 将环境变量解析为Go结构(默认值)。
  • envcfg - 对Go结构进行非编组环境变量。
  • envconf - 从环境配置。
  • envconfig - 从环境变量中读取配置。
  • envh - 帮助管理环境变量。
  • gcfg - 将INI样式的配置文件读入Go结构; 支持用户定义的类型和子部分。
  • goConfig - 将结构解析为输入,并使用命令行,环境变量和配置文件中的参数填充此结构的字段。
  • godotenv - Ruby的dotenv库的端口(从中加载环境变量.env)。
  • gofigure - 简化应用程序配置。
  • gone / jconf - 模块化JSON配置。保持配置结构及其配置的代码,并将解析委托给子模块,而不会牺牲完整的配置序列化。
  • hjson - Human JSON,一种用于人类的配置文件格式。轻松的语法,更少的错误,更多的评论。
  • ingo - Flags持久存在于一个类似ini的配置文件中。
  • ini - Go包读写INI文件。
  • joshbetz / config - Go的小型配置库,用于解析环境变量,JSON文件,并在SIGHUP上自动重新加载。
  • mini - 用于解析ini风格配置文件的Golang包。
  • store - Go的轻量级配置管理器。
  • 毒蛇 - 用f牙进行配置。
  • xdg - 遵循XDG标准的跨平台包。

持续集成

有助于持续集成的工具。

  • 无人机 - 无人机是一个基于Docker构建的持续集成平台,用Go编写。
  • gomason - 从干净的工作区测试,构建,签名和发布您的二进制文件。
  • goveralls - 集成Coveralls.io连续代码覆盖跟踪系统。
  • 工作服 - 多包装去项目coverprofile工具,如goveralls。
  • roveralls - 递归覆盖测试工具。

CSS预处理器

用于预处理CSS文件的库。

  • c6 - 用Go编写的高性能SASS兼容实现编译器。
  • gcss - Pure Go CSS预处理器。
  • go-libsass - 将包装器转到100%Sass兼容的libsass项目。

数据结构

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

  • binpacker - 二进制打包程序和解包程序可帮助用户构建自定义二进制流。
  • bit - Golang设置数据结构,具有额外的位扭曲功能。
  • bitset - Go包实现bitsets。
  • bloom - 在Go中实现的Bloom过滤器。
  • bloom - Golang Bloom过滤器实现。
  • boomfilters - 用于处理连续,无界流的概率数据结构。
  • concurrent-writer - 高度并发的直接替换bufio.Writer
  • conjungo - 一个小巧,强大且灵活的合并库。
  • count-min-log - Go实现Count-Min-Log草图:使用近似计数器近似计数(类似于Count-Min草图但使用较少的内存)。
  • cuckoofilter - 布谷鸟过滤器:Go中实现的计数布隆过滤器的一个很好的替代品。
  • encoding - Go的整数压缩库。
  • go-adaptive-radix-tree - 自适应基数树的实现。
  • go-datastructures - 有用,高性能和线程安全的数据结构的集合。
  • go-ef - Elias-Fano编码的Go实现。
  • go-geoindex - 内存中的地理索引。
  • go-rquad - 具有有效点位置和邻域发现的区域四叉树。
  • 众神 - 去数据结构。容器,集合,列表,堆栈,地图,BidiMaps,树,HashSet等。
  • Golang-set - Go的线程安全和非线程安全高性能集。
  • goset - Go的一个有用的Set集合实现。
  • goskiplist - Go中的跳过列表实现。
  • gota - 为Go实现数据帧,系列和数据争用方法。
  • hilbert - 用于将值映射到空间填充曲线的包,例如Hilbert和Peano曲线。
  • hyperloglog - 具有稀疏,LogLog-Beta偏差校正和TailCut空间缩减的HyperLogLog实现。
  • levenshtein - Levenshtein距离和相似性度量与可定制的编辑成本和类似Winkler的共同前缀奖金。
  • levenshtein - 在Go中计算levenshtein距离的实现。
  • mafsa - 使用最小完美散列的MA-FSA实现。
  • merkletree - 实现merkle树,提供对数据结构内容的有效和安全的验证。
  • 咆哮 - Go包实现压缩位集。
  • skiplist - Go中的跳过列表实现。
  • trie - 在Go中实现Trie。
  • ttlcache - 内存LRU字符串接口{}映射,具有golang的到期时间。
  • willf / bloom - Go包实现Bloom过滤器。

数据库

Go中实现的数据库。

  • badger - Go中的快速键值存储。
  • BigCache - 用于千兆字节数据的高效键/值缓存。
  • bolt - Go的低级键/值数据库。
  • buntdb - Go的快速,可嵌入,内存中键/值数据库,具有自定义索引和空间支持。
  • cache2go - 内存中密钥:值缓存,支持基于超时的自动失效。
  • clusteredBigCache - 具有群集支持和单个项目到期的BigCache。
  • cockroach - 可扩展,地理复制,事务数据存储。
  • couchcache - 由Couchbase服务器支持的RESTful缓存微服务。
  • dgraph - 可扩展,分布式,低延迟,高吞吐量图数据库。
  • diskv - 本土磁盘支持的键值存储。
  • eliasdb - 具有REST API,短语搜索和类似SQL的查询语言的无依赖关系的事务图数据库。
  • forestdb - 转到ForestDB的绑定。
  • GCache - 支持可过期缓存,LFU,LRU和ARC的缓存库。
  • go-cache - 内存中的密钥:Go的值存储/缓存(类似于Memcached)库,适用于单机应用程序。
  • goleveldb - 在Go中实现LevelDB键/值数据库。
  • gorocksdb - Gorocksdb是用Go编写的RocksDB的包装器。
  • groupcache - Groupcache是​​一个缓存和缓存填充库,在许多情况下用作memcached的替代品。
  • Influxdb - 用于指标,事件和实时分析的可扩展数据存储区。
  • jaeger - 分布式跟踪系统。
  • ledisdb - Ledisdb是一款基于LevelDB的高性能NoSQL,如Redis。
  • levigo - Levigo是LevelDB的Go包装器。
  • moss - Moss是一个简单的LSM键值存储引擎,用100%Go编写。
  • piladb - 基于堆栈数据结构的轻量级RESTful数据库引擎。
  • prometheus - 监控系统和时间序列数据库。
  • rqlite - 基于SQLite构建的轻量级分布式关系数据库。
  • Scribble - 微小的平面文件JSON商店。
  • tempdb - 临时项的键值存储。
  • tidb - TiDB是一个分布式SQL数据库。灵感来自Google F1的设计。
  • tiedot - 由Golang提供支持的NoSQL数据库。

数据库架构迁移。

  • darwin - Go的数据库模式演化库。
  • go-fixtures - 用于Golang优秀的内置数据库/ sql库的Django风格的灯具。
  • gondolier - Gondolier是一个使用结构自动迁移数据库模式的库。
  • goose - 数据库迁移工具。您可以通过创建增量SQL或Go脚本来管理数据库的演变。
  • gormigrate - Gorm ORM的数据库模式迁移帮助程序。
  • 迁移 - 数据库迁移。CLI和Golang库。
  • pravasan - 简单迁移工具 - 目前用于MySQL但计划很快支持Postgres,SQLite,MongoDB等。
  • 苏打 - 用于MySQL,PostgreSQL和SQLite的数据库迁移,创建,ORM等。
  • sql-migrate - 数据库迁移工具。允许使用go-bindata将迁移嵌入到应用程序中。

数据库工具。

  • chproxy - ClickHouse数据库的HTTP代理。
  • go-mysql - 使用工具集来处理MySQL协议和复制。
  • go-mysql-elasticsearch - 自动将MySQL数据同步到Elasticsearch。
  • kingshard - kingshard是由Golang提供支持的MySQL的高性能代理。
  • myreplication - MySql二进制日志复制监听器。支持基于语句和行的复制。
  • orchestrator - MySQL复制拓扑管理器和可视化工具。
  • pgweb - 基于Web的PostgreSQL数据库浏览器。
  • prep - 使用准备好的SQL语句而不更改代码。
  • perst - 从任何PostgreSQL数据库提供RESTful API。
  • rwdb - rwdb为多个数据库服务器设置提供只读副本功能。
  • vitess - vitess提供服务器和工具,便于扩展MySQL数据库以用于大规模Web服务。

SQL查询构建器,用于构建和使用SQL的库。

  • dat - Go Postgres数据访问工具包。
  • Dotsql - Go库,可以帮助您将sql文件保存在一个位置并轻松使用它们。
  • gendry - 非侵入式SQL构建器和强大的数据绑定器。
  • goqu - 惯用 SQL构建器和查询库。
  • igor - PostgreSQL的抽象层,支持高级功能并使用类似gorm的语法。
  • ozzo-dbx - 强大的数据检索方法以及与数据库无关的查询构建功能。
  • scaneo - 生成Go代码以将数据库行转换为任意结构。
  • sqrl - SQL查询构建器,具有改进性能的Squirrel分支。
  • Squirrel - Go库,可帮助您构建SQL查询。
  • xo - 基于现有模式定义或支持PostgreSQL,MySQL,SQLite,Oracle和Microsoft SQL Server的自定义查询,为数据库生成惯用Go代码。

数据库驱动

用于连接和操作数据库的库。

  • 关系数据库

    • avatica - 用于数据库/ sql的Apache Phoenix / Avatica SQL驱动程序。
    • bgc - 用于BigQuery的数据存储连接。
    • firebirdsql - Go的Firebird RDBMS SQL驱动程序。
    • go-adodb - 用于go的Microsoft ActiveX Object DataBase驱动程序,它使用database / sql。
    • go-bqstreamer - BigQuery快速和并发流插入。
    • go-mssqldb - Go的Microsoft MSSQL驱动程序。
    • go-oci8 - 使用database / sql的Oracle驱动程序。
    • go-sql-driver / mysql - Go的MySQL驱动程序。
    • go-sqlite3 - 用于使用database / sql的SQLite3驱动程序。
    • gofreetds - Microsoft MSSQL驱动程序。转到FreeTDS的包装器。
    • pgx - PostgreSQL驱动程序支持数据库/ sql之外的功能。
    • pq - 用于数据库/ sql的Pure Go Postgres驱动程序。
  • NoSQL数据库

    • aerospike-client-go - Go语言的Aerospike客户端。
    • arangolite - ArangoDB的轻量级golang驱动程序。
    • asc - 用于Aerospike的数据存储连接。
    • cayley - 支持多个后端的图形数据库。
    • dsc - SQL,NoSQL,结构化文件的数据存储连接。
    • dynago - Dynago是DynamoDB最少的意外客户端原则。
    • go-couchbase - Go中的Couchbase客户端。
    • go-couchdb - Go的另一个CouchDB HTTP API包装器。
    • gocb - 官方Couchbase Go SDK。
    • gocql - 用于Apache Cassandra的语言驱动程序。
    • gomemcache - Go编程语言的memcache客户端库。
    • gorethink - 转RethinkDB的语言驱动程序。
    • goriak - Riak KV的语言驱动程序。
    • mgo - 用于Go语言的MongoDB驱动程序,它根据标准Go成语在非常简单的API下实现丰富且经过良好测试的功能选择
    • neo4j - Golang的 Neo4j Rest API绑定。
    • Neo4j-GO - golang中的Neo4j REST客户端。
    • 新手 - Golang的 Neo4j客户端。
    • redigo - Redigo是Redis数据库的Go客户端。
    • redis - Golang的Redis客户端。
    • redis - Go的简单,强大的Redis客户端。
    • redis - 兼容Redis协议的TCP服务器/服务。
    • xredis - Typesafe,可自定义,干净且易于使用的Redis客户端。
  • 搜索和分析数据库。

    • bleve - 用于go的现代文本索引库。
    • elastic - Go的Elasticsearch客户端。
    • elasticsql - 在Go中将sql转换为elasticsearch dsl。
    • elastigo - Elasticsearch客户端库。
    •  - 图书馆与Elasticsearch互动。
    • riot - Go开源,分布式,简单高效的搜索引擎
    • skizze - 概率数据结构服务和存储。

日期和时间

处理日期和时间的图书馆。

  • carbon - 使用许多util方法的简单时间扩展,从PHP Carbon库移植。
  • date - Augments处理日期,日期范围,时间跨度,期间和时间的时间。
  • dateparse - 预先解析日期而不知道格式。
  • durafmt - Go的持续时间格式库。
  • feiertage - 计算德国公众假期的功能集,包括 德国各州的专业化(Bundesländer)。像复活节,五旬节,感恩节......
  • go-persian-calendar - 在Go(golang)中实现波斯语(Solar Hijri)日历。
  • go-sunrise - 计算给定位置的日出和日落时间。
  • goweek - 在golang中使用周实体的库。
  • now - 现在是golang的时间工具包。
  • NullTime - Nullable time.Time
  • strftime - 与C99兼容的strftime格式化程序。
  • timespan - 用于与时间间隔交互,定义为开始时间和持续时间。
  • timeutil - golang的时间包中有用的扩展(Timedelta,Strftime,...)。
  • 星期二 - 与Ruby兼容的Strftime功能。

分布式系统

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

  • celeriac - 用于添加对交互和监控的支持的库.Go中的 Celery工作者,任务和事件。
  • digota - grpc电子商务微服务。
  • drmaa - 基于DRMAA标准的集群调度程序的作业提交库。
  • emitter-io - 使用MQTT,Websockets和爱构建的高性能,分布式,安全和低延迟的发布 - 订阅平台。
  • flowgraph - MPI样式的就绪发送协调层。
  • gleam - 用纯Go和Luajit编写的快速且可扩展的分布式map / reduce系统,将Go的高并发性与Luajit的高性能相结合,可以独立运行或分布式运行。
  • glow - 易于使用的可扩展分布式大数据处理,Map-Reduce,DAG执行,全部采用纯Go。
  • go-health - 用于在服务中启用异步依赖项运行状况检查的库。
  • go-jump - Google的“Jump”Consistent Hash函数的端口。
  • go-kit - 支持服务发现,负载平衡,可插拔传输,请求跟踪等的微服务工具包。
  • 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网关框架。
  • micro - Pluggable微服务工具包和分布式系统平台。
  • NATS - 用于微服务,物联网和云原生系统的轻量级高性能消息传递系统。
  •  - Golang实施的Raft共识协议,由HashiCorp提供。
  •  - 由CoreOS实施Raft共识协议。
  • ringpop-go - Go应用程序的可扩展,容错的应用程序层分片。
  • rpcx - 像阿里巴巴Dubbo这样的分布式可插拔RPC服务框架。
  • sleuth - 用于无主p2p自动发现和HTTP服务之间的RPC的库(使用ZeroMQ)。
  • tendermint - 使用Tendermint共识和区块链协议将用任何编程语言编写的状态机转换为拜占庭容错复制状态机的高性能中间件。
  • torrent - BitTorrent客户端包。
    • dht - BitTorrent Kademlia DHT实施。
    • go-peerflix - 视频流洪流客户端。

电子邮件

实现电子邮件创建和发送的库。

  • 柔雅系列 - CSS内衬为您的HTML电子邮件。
  • 电子邮件 - 一个强大而灵活的Go电子邮件库。
  • go-dkim - DKIM库,用于签署和验证电子邮件。
  • go-imap - 客户端和服务器的IMAP库。
  • go-message - 用于Internet邮件格式和邮件消息的流式库。
  • Gomail - Gomail是一个非常简单而强大的发送电子邮件的包。
  • Hectane - 提供HTTP API的轻量级SMTP客户端。
  • hermes - Golang软件包,可生成干净,响应迅速的HTML电子邮件。
  • MailHog - 使用Web和API接口进行电子邮件和SMTP测试。
  • SendGrid - SendGrid的Go库,用于发送电子邮件。
  • smtp - SMTP服务器协议状态机。

可嵌入的脚本语言

在go代码中嵌入其他语言。

  • agora - Go中的动态类型,可嵌入编程语言。
  • anko - 用Go编写的可编写脚本的解释器。
  • binder - 根据gopher-lua转到Lua绑定库。
  • gisp - Go中的简单LISP。
  • go-duktape - 针对Go的Duktape JavaScript引擎绑定。
  • go-lua - Lua 5.2 VM的端口到纯Go。
  • go-php - Go的PHP绑定。
  • go-python - naive go绑定到CPython C-API。
  • golua - Goa绑定Lua C API。
  • gopher-lua - 用Go编写的Lua 5.1 VM和编译器。
  • ngaro - 可嵌入的Ngaro VM实现,可在Retro中实现脚本编写。
  • otto - 用Go编写的JavaScript解释器。
  • purl - 嵌入Go的Perl 5.18.2。

用于处理文件和文件系统的库。

  • afero - Go的FileSystem抽象系统。
  • go-csv-tag - 使用标记加载csv文件。
  • go-gtfs - 在go中加载gtfs文件。
  • notify - 具有简单API的文件系统事件通知库,类似于os / signal。
  • skywalker - 允许一个人同时轻松浏览文件系统的软件包。
  • tarfs - tar文件FileSystem接口的实现。

金融

会计和财务包。

  • 会计 - golang的货币和货币格式。
  • 十进制 - 任意精度的定点十进制数。
  • go-finance - Go的综合金融市场数据。
  • go-finance - 货币时间价值(年金),现金流量,利率转换,债券和折旧计算的金融函数库。
  • go-money - Fowler的Money模式的实现。
  • ofxgo - 查询OFX服务器和/或解析响应(使用示例命令行客户端)。
  • transaction - 以多线程模式运行的嵌入式帐户事务数据库。
  • 增值税 - 增值税号验证和欧盟增值税税率。

形式

用于处理表单的库。

  • bind - 将表单数据绑定到任何Go值。
  • 绑定 - 将表单和JSON数据从net / http请求绑定到struct。
  • 符合 - 保持用户输入。基于struct标签修剪,清理和清理数据。
  • form - 将url.Values解码为Go值,将Encodes Go值转换为url.Values。双阵列和完整地图支持。
  • formam - 将表单的值解码为结构。
  • forms - 与框架无关的库,用于解析和验证支持多部分表单和文件的表单/ JSON数据。
  • gorilla / csrf - 针对Go Web应用程序和服务的CSRF保护。
  • nosurf - Go的CSRF保护中间件。

游戏开发

令人敬畏的游戏开发库。

  • Azul3D - 用Go编写的3D游戏引擎。
  • Ebiten - Go中死的简单2D游戏库。
  • engo - Engo是一个用Go编写的开源2D游戏引擎。它遵循实体 - 组件 - 系统范例。
  • GarageEngine - 使用Go编写的2d游戏引擎在OpenGL上工作。
  • glop - Glop(Power Library Of Power)是一个相当简单的跨平台游戏库。
  • go-astar - 去实现A *路径寻找算法。
  • go-collada - Go包,用于处理Collada文件格式。
  • go-sdl2 - Go SimpleMedia Layer的绑定。
  • go3d - Go的面向性能的2D / 3D数学包。
  • gonet - 用golang实现的游戏服务器骨架。
  • goworld - 可扩展的游戏服务器引擎,具有空间实体框架和热交换功能
  • Leaf - 轻量级游戏服务器框架。
  • nano - 轻量级,设施齐全,高性能的golang游戏服务器框架
  • Oak - Pure Go游戏引擎。
  • Pixel - Go手工制作的2D游戏库。
  • raylib-去 -去绑定raylib,简单和易于使用的库,以了解电子游戏编程。
  • termloop - Go的基于终端的游戏引擎,建立在Termbox之上。

生成和泛型

通过代码生成增强语言功能的工具,如泛型。

  • efaceconv - 用于从接口{}到不可分配的不可变类型的高性能转换的代码生成工具。
  • gen - 用于“泛型”功能的代码生成工具。
  • go-enum - 来自代码注释的枚举代码生成。
  • go-linq - 用于Go的.NET LINQ类查询方法。
  • goderive - 从输入类型派生函数。
  • interfaces - 用于生成接口定义的命令行工具。
  • jennifer - 生成没有模板的任意Go代码。
  • pkgreflect - 用于包范围反射的预处理器。

 

96 承诺一时的华丽 

地理

地理工具和服务器

  • geocache - 适用于基于地理定位的应用程序的内存缓存。
  • pbf - OpenStreetMap PBF golang编码器/解码器。
  • S2几何 - Go中的S2几何库。
  • Tile38 - 具有空间索引和实时地理围栏的地理位置数据库。

去编译器

编译工具转到其他语言。

  • gopherjs - 转到JavaScript的编译器。
  • llgo - Go的基于LLVM的编译器。
  • tardisgo - Golang to Haxe转CPP / CSharp / Java / JavaScript转发器。

够程

管理和使用Goroutines的工具。

  • cyclicbarrier - 用于golang的CyclicBarrier。
  • go-floc - 轻松协调goroutines。
  • go-flow - 控制goroutines执行顺序。
  • GoSlaves - 简单和异步Goroutine池库。
  • goworker - goworker是一名Go-based后台工作者。
  • grpool - 轻量级Goroutine游泳池。
  • parallel-fn - 并行运行函数。
  • 游泳池 - 有限的消费者goroutine或无限的goroutine游泳池,更容易goroutine处理和取消。
  • 信号量 - 基于通道和上下文的锁定/解锁操作超时的信号量模式实现。
  • 信号量 - 基于CAS的快速可调整大小的信号量实现(比基于通道的信号量实现更快)。
  • 金枪鱼 -够程池golang。
  • worker-pool - goworker是一个Go简单的异步工作池。
  • workerpool - 限制任务执行并发性的Goroutine池,而不是排队的任务数。

GUI

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

工具包

  • app - 使用GO,HTML和CSS创建应用程序的包。支持:MacOS,Windows正在进行中。
  • go-astilectron - 使用GO和HTML / JS / CSS构建跨平台GUI应用程序(由Electron提供支持)。
  • go-gtk - 为GTK绑定绑定。
  • go-qml - 对Go语言的QML支持。
  • go-sciter - Sciter的绑定:用于现代桌面UI开发的Embeddable HTML / CSS /脚本引擎。跨平台。
  • goqt - Golang绑定到Qt跨平台应用程序框架。
  • gotk3 - Go绑定GTK3。
  • gowd - 使用GO,HTML,CSS和NW.js进行快速简单的桌面UI开发。跨平台。
  • qt - Go的Qt绑定(支持Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。
  • ui - Go的平台原生GUI库。跨平台。
  • walk - 适用于Go的Windows应用程序库工具包。
  • webview - 具有简单双向JavaScript绑定的跨平台webview窗口(Windows / macOS / Linux)。

相互作用

  • gosx-notifier - Go的OSX桌面通知库。
  • robotgo - Go Native跨平台GUI系统自动化。控制鼠标,键盘等。
  • systray - 跨平台Go库在通知区域中放置图标和菜单。
  • trayhost - 跨平台Go库,在主机操作系统的任务栏中放置一个图标。

硬件

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

有关完整列表,请参阅go-hardware

图片

用于处理图像的库。

  • bild - 纯Go中图像处理算法的集合。
  • bimg - 使用libvips进行快速高效图像处理的小包。
  • geopattern - 从字符串创建美丽的生成图像模式。
  • gg - 纯Go中的2D渲染。
  • gift - 图像处理过滤器包。
  • go-cairo - 转到cairo图形库的绑定。
  • go-gd - 对GD库进行绑定。
  • go-nude - 使用Go进行裸体检测。
  • go-opencv - 转到OpenCV的绑定。
  • go-webcolors - 从Python到Go的webcolors库的端口。
  • gocv - 使用OpenCV 3.3+获取计算机视觉包。
  • govatar - 用于生成有趣头像的库和CMD工具。
  • 想象力 - 绑定到ImageMagick的MagickWand C API。
  • imaginary - 用于图像大小调整的快速简单的HTTP微服务。
  • 成像 - 简单Go图像处理包。
  • img - 选择图像处理工具。
  • ln - Go中的3D线条艺术渲染。
  • mpo - MPO 3D照片的解码器和转换工具。
  • picfit - 用Go编写的图像大小调整服务器。
  • pt - 用Go编写的路径跟踪引擎。
  • 调整大小 - 使用常见插值方法调整Go的图像大小。
  • rez - 纯Go和SIMD中的图像大小调整。
  • smartcrop - 为任意图像和裁剪尺寸找到好作物。
  • svgo - 用于SVG生成的Go语言库。
  • tga - 包tga是TARGA图像格式解码器/编码器。

物联网(物联网)

用于物联网编程设备的库。

  • connectordb - 量化自我和物联网的开源平台。
  • 设备 - 物联网设备库套件,x / exp / io实验。
  • eywa - Project Eywa本质上是一个连接管理器,可以跟踪连接的设备。
  • flogo - Project Flogo是物联网边缘应用和集成的开源框架。
  • GATT -盖特是一个围棋包构建低功耗蓝牙外设。
  • gobot - Gobot是机器人,物理计算和物联网的框架。
  • mainflux - 工业物联网消息和设备管理服务器。
  • periph - 用于与低级电路板设备连接的外围设备I / O.
  • sensorbee - 物联网的轻量级流处理引擎。

记录

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

  • distillog - 蒸馏水平测井(将其视为stdlib + log水平)。
  • glg - glg是Go的简单快速级别的日志库。
  • glog - Go的执行日志。
  • go-cronowriter - 简单的编写器,可根据当前日期和时间自动轮换日志文件,如cronolog。
  • go-log - Log lib支持级别和多个处理程序。
  • go-log - Go中的Log4j实现。
  • go-logger - Go程序的简单记录器,带有级别处理程序。
  • gologger - 简单易用的log lib for go,登录Colored Console,Simple Console,File或Elasticsearch。
  • gomol - 具有可扩展日志记录输出的Go的多输出结构化日志记录。
  • gone / log - 快速,可扩展,功能齐全,std-lib源兼容的日志库。
  • journald - 执行systemd Journal的日志API以进行日志记录。
  • log - Go的结构化日志包。
  • log - Go的简单,可配置和可扩展的结构化日志记录。
  • log - Go的结构化日志界面干净地将日志记录外观与其实现分开。
  • log-voyage - 用golang编写的全功能日志saas。
  • log15 - Go的简单,强大的日志记录。
  • logdump - 用于多级日志记录的包。
  • logex - Golang log lib,支持跟踪和级别,由标准日志lib包装。
  • logger - Go的简约日志记录库。
  • logo - Golang logger到不同的可配置编写器。
  • logrus - Go的结构化记录器。
  • logrusly - 用于向Loggly发送错误的logrus插件。
  • logutils - 用于在Go(Golang)中稍微更好地登录的工具,扩展标准记录器。
  • logxi - 12因素应用程序记录器,速度快,让您开心。
  • 伐木工人 - 简单的滚动记录器,实现io.WriteCloser。
  • mlog - 用于go的简单日志记录模块,具有5个级别,可选的旋转日志文件功能和stdout / stderr输出。
  • ozzo-log - 支持日志严重性,分类和过滤的高性能日志记录。可以将过滤后的日志消息发送到各种目标(例如控制台,网络,邮件)。
  • seelog - 具有灵活调度,过滤和格式化的日志记录功能。
  • spew - 为Go数据结构实现深度漂亮的打印机以帮助调试。
  • stdlog - Stdlog是一个面向对象的库,提供分层日志记录。它对于cron作业非常有用。
  • tail - Go包试图模仿BSD尾部程序的功能。
  • xlog - Go的插件架构和灵活的日志系统,具有级别控制,多个日志目标和自定义日志格式。
  • xlog - net/context具有灵活分派的感知HTTP处理程序的结构化记录器。
  • zap - Go中快速,结构化,水平的日志记录。
  • zerolog - 零分配JSON记录器。

机器学习

机器学习库。

  • 贝叶斯 - Golang的朴素贝叶斯分类。
  • CloudForest - 用于纯Go中机器学习的快速,灵活,多线程的决策树集合。
  • fonet - 用Go编写的深度神经网络库。
  • gago - 多种群,灵活,并行遗传算法。
  • go-cluster - 实现k-modes和k-prototypes聚类算法。
  • go-fann - 快速人工神经网络(FANN)库的绑定。
  • go-galib - 用Go / golang编写的遗传算法库。
  • go-pr - Go lang中的模式识别包。
  • gobrain - 用go编写的神经网络。
  • godist - 各种概率分布和相关方法。
  • goga - Go的遗传算法库。
  • GoLearn - Go的通用机器学习库。
  • golinear - Go的liblinear绑定。
  • goml - Go中的在线机器学习。
  • goRecommend - 用Go编写的推荐算法库。
  • gorgonia - 基于图形的计算库,如Theano for Go,提供用于构建各种机器学习和神经网络算法的原语。
  • goscore - 用于PMML的Go Scoring API。
  • gosseract - 使用Tesseract C ++库获取OCR(光学字符识别)包。
  • libsvm - 基于LIBSVM 3.14的libsvm golang版本派生工作。
  • mlgo - 该项目旨在提供Go中的简约机器学习算法。
  • neat - 即插即用,并行Go框架,用于增强拓扑(NEAT)的NeuroEvolution。
  • neural-go - 在Go中实现的多层感知器网络,通过反向传播进行训练。
  • probab - 概率分布函数。贝叶斯推断。写在纯粹的Go。
  • regommend - 推荐和协作过滤引擎。
  • shield - 贝叶斯文本分类器,带有灵活的标记器和Go的存储后端。
  • tfgo - 易于使用的Tensorflow绑定:简化了官方Tensorflow Go绑定的使用。在Go中定义计算图,加载和执行用Python训练的模型。
  • Varis - Golang神经网络。

消息

实现消息传递系统的库。

  • Centrifugo - Go中的实时消息传递(Websockets或SockJS)服务器。
  • dbus - D-Bus的Native Go绑定。
  • 无人机线路 - 使用二进制,泊坞窗或无人机CI 发送线路通知。
  • 发射器 - 使用Go方式发出事件,具有通配符,谓词,取消可能性和许多其他好的胜利。
  • event - 模式观察者的实现。
  • EventBus - 具有异步兼容性的轻量级事件总线。
  • gaurun-client - 用Go编写的Gaurun客户端。
  • 胶水 - 强大的Go和Javascript套接字库(Socket.io的替代品)。
  • go-notify - freedesktop通知规范的本机实现。
  • go-nsq - NSQ的官方Go包。
  • go-socket.io - 用于golang的socket.io库,一个实时应用程序框架。
  • go-vitotrol - 客户图书馆到Viessmann Vitotrol网络服务。
  • Gollum - 一种n:m多路复用器,它从不同的源收集消息并将它们广播到一组目的地。
  • golongpoll - HTTP longpoll服务器库,使web pub-sub变得简单。
  • goose - Go中的服务器发送事件。
  • gopush-cluster - gopush-cluster是一个推送服务器集群。
  • gorush - 使用APNs2和Google GCM推送通知服务器。
  • guble - 使用推送通知的消息服务器(Google Firebase云消息传递,Apple推送通知服务,SMS)以及websockets,一个REST API,具有分布式操作和消息持久性。
  • 机器 - 基于分布式消息传递的异步任务队列/作业队列。
  • mangos - 具有传输互操作性的Nanomsg(“可扩展协议”)的纯实现。
  • 旋律 - 用于处理websocket会话的极简主义框架,包括广播和自动ping / pong处理。
  • messagebus - messagebus是一个简单的异步消息总线,非常适合在进行事件采购,CQRS,DDD时用作事件总线。
  • NATS Go Client - 轻量级和高性能的发布 - 订阅和分布式排队消息系统 - 这是Go库。
  • nsq-event-bus - 围绕NSQ主题和通道的一个小包装器。
  • oplog - REST API的通用oplog /复制系统。
  • pubsub - 简单的pubsub包。
  • rabbus - amqp交换和队列的一个小包装器。
  • rabtap - RabbitMQ瑞士军刀cli应用程序。
  • RapidMQ - RapidMQ是一个轻量级且可靠的库,用于管理本地消息队列。
  • sarama - 去Apache Kafka的图书馆。
  • Uniqush-Push - Redis支持统一推送服务,用于向移动设备发送服务器端通知。
  • zmq4 - Go接口到ZeroMQ版本4.也适用于版本3版本2

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

  • alice - Golang的附加依赖注入容器。
  • anagent - 具有依赖注入的简约,可插拔的Golang evloop / timer处理程序。
  • antch - 一种快速,强大且可扩展的Web爬行和抓取框架。
  • archiver - 用于制作和提取.zip和.tar.gz档案的库和命令。
  • autoflags - Go包自动从结构字段定义命令行标志。
  • avgRating - 根据Wilson Score Equation计算平均得分和评分。
  • banner - 在Go应用程序中添加漂亮的横幅。
  • base64Captcha - Base64captch支持数字,数字,字母,算术,音频和数字字母验证码。
  • 电池 - 跨平台,标准化电池信息库。
  • bitio - 针对Go的高度优化的位级读取器和写入器。
  • browscap_go - GoLang图书馆浏览器功能项目
  • 验证码 - 验证码验证码为验证码生成提供了一个易于使用,不受影响的API。
  • conv - Package conv提供跨Go类型的快速直观转换。
  • datacounter - Go / reader for reader / writer / http.ResponseWriter。
  • errors - 提供简单错误处理原语的包。
  • go-chat-bot - 用Go编写的IRC,Slack&Telegram机器人。
  • go-commons-pool - Golang的通用对象池。
  • go-multierror - Go(golang)包,用于将错误列表表示为单个错误。
  • go-openapi - 用于解析和利用open-api模式的包的集合。
  • go-resiliency - golang的弹性模式。
  • go-sarah - 为期望的聊天服务构建机器人的框架,包括LINE,Slack,Gitter等。
  • go-unarr - 用于RAR,TAR,ZIP和7z档案的解压缩库。
  • go.uuid - 通用唯一标识符(UUID)的实现。支持UUID的创建和解析。
  • gofakeit - 用go编写的随机数据生成器。
  • goid - 生成并解析符合RFC4122标准的V4 UUID。
  • gopsutil - 用于检索进程和系统利用率的跨平台库(CPU,内存,磁盘等)。
  • gosms - Go中您自己的本地SMS网关,可用于发送短信。
  • gountries - 公开国家和细分数据的包。
  • hanu - 写Slack机器人的框架。
  • health - 易于使用,可扩展的健康检查库。
  • healthcheck - RESTful服务的固定和并发健康检查HTTP处理程序。
  • hostutils - 用于打包和解包FQDN列表的golang库。
  • indigo - 使用Sonyflake并由Base58编码的分布式唯一ID生成器。
  • jobs - 持久且灵活的后台作业库。
  • lk - golang的简单许可库。
  • margelet - 建立电报机器人的框架。
  • 波斯语 - 波斯语中的一些实用程序。
  • secdl - Lighttpd ModSecDownload算法移植到安全下载URL。
  • shellwords - 一个Golang库,用于根据UNIX Bourne shell的单词解析规则操作字符串。
  • shortid - 分布式生成超短,唯一,非顺序,URL友好ID。
  • slacker - 易于使用的框架来创建Slack机器人。
  • stats - Monitors Go MemStats +系统统计数据,如内存,交换和CPU,并通过UDP发送到任何你想要的日志记录等...
  •  - Emojis for Go。
  • uuid - 使用快速或加密质量的随机节点标识符生成,编码和解码UUID v1。
  • VarHandler - 生成样板http输入和输出处理。
  • werr - Error Wrapper为Go中的错误类型创建一个包装器,它捕获文件,行和堆栈的调用位置。
  • wuid - 一个极其快速的唯一数字生成器,比UUID快10-135倍。
  • xkg - X键盘抓取器。
  • xstrings - 从其他语言移植的有用字符串函数的集合。

自然语言处理

用于处理人类语言的图书馆。

  • dpar - 基于转换的统计依赖解析器。
  • go-eco - 相似度,相异度和距离矩阵; 多样性,公平性和不平等措施; 物种丰富度估算; coenocline模型。
  • go-i18n - 用于处理本地化文本的软件包和附带工具。
  • go-mystem - CGo绑定到Yandex.Mystem - 俄罗斯形态分析器。
  • go-nlp - 用于处理离散概率分布的实用程序和用于执行NLP工作的其他工具。
  • go-stem - 搬运工干扰算法的实现。
  • go-unidecode - Unicode文本的ASCII音译。
  • go2vec - word2vec嵌入的读者和实用程序函数。
  • gojieba -这是一个围棋实施解霸其中中国分词算法。
  • golibstemmer - 包括搬运工2的雪球libstemmer库的绑定。
  • gounidecode - Go的Unicode音译器(也称为unidecode)。
  • gse - 高效的文本分割; 支持英语,中文,日语等。
  • icu - 用于icu4c C库检测和转换功能的Cgo绑定。保证与版本50.1的兼容性。
  • libtextcat - 用于libtextcat C库的Cgo绑定。保证与2.2版兼容。
  • MMSEGO - 这是MMSEG的GO实现,它是一种中文分词算法。
  • nlp - 从字符串中提取值并使用nlp填充结构。
  • nlp - 支持LSA(潜在语义分析)的Go Natural Language Processing库。
  • paicehusk - Golang实现的Paice / Husk词干算法。
  • 彼得罗维奇(Petrovich) - 彼得罗维奇(Petrovich)是一个图书馆,它根据语法情况调整俄语名称。
  • porter - 这是一个相当简单的Port Porter C实现Porter词干算法的端口。
  • porter2 - 真的很快Porter 2。
  • 散文 - 用于文本处理的库,支持标记化,词性标记,命名实体提取等。
  • RAKE.go - 快速自动关键字提取算法(RAKE)的Go端口。
  • segment - Go库,用于执行Unicode标准附件#29中所述的Unicode文本分段
  • 句子 - 句子标记器:将文本转换为句子列表。
  • shamoji - shamoji是用Go编写的文字过滤包。
  • 雪球 - Go的Snowball stemmer port(cgo wrapper)。提供词干提取功能Snowball原生
  • stemmer - 用于Go编程语言的Stemmer包。包括英语和德语词干分析器。
  • textcat - Go包,用于基于n-gram的文本分类,支持utf-8和原始文本。
  • whatlanggo - Go的自然语言检测包。支持84种语言和24种脚本(书写系统,如拉丁语,西里尔语等)。
  • when - 具有可插拔规则的自然EN和RU语言日期/时间解析器。

联网

用于处理网络各层的库。

  • arp - Package arp实现ARP协议,如RFC 826中所述。
  • buffstreams - 通过TCP流式传输协议缓冲数据变得简单。
  • canopus - CoAP客户端/服务器实现(RFC 7252)。
  • cidranger - Go的CIDR快速IP查找。
  • dhcp6 - 软件包dhcp6实现了一个DHCPv6服务器,如RFC 3315中所述。
  • dns - 使用DNS来处理DNS。
  • ether - 用于发送和接收以太网帧的跨平台Go包。
  • ethernet - Package ethernet实现IEEE 802.3 Ethernet II帧和IEEE 802.1Q VLAN标记的编组和解组。
  • fasthttp - 软件包fasthttp是Go的快速HTTP实现,比net / http快10倍。
  • fortio - 加载测试库和命令行工具以及Web UI。允许指定设置的每秒查询负载和记录延迟直方图以及其他有用的统计信息并对其进行图形化。
  • ftp - 软件包ftp实现了RFC 959中描述的FTP客户端。
  • go-getter - 使用URL从各种来源下载文件或目录的库。
  • go-stun - Go实现STUN客户端(RFC 3489和RFC 5389)。
  • gobgp - 在Go编程语言中实现的BGP。
  • golibwireshark - 包golibwireshark使用libwireshark库解码pcap文件并分析解剖数据。
  • gopacket - 使用libpcap绑定进行数据包处理的库。
  • gopcap - 用于libpcap的包装器。
  • goshark - 包goshark使用tshark解码IP数据包并创建数据结构来分析数据包。
  • gosnmp - 用于执行SNMP操作的Native Go库。
  • gotcp - Go包,用于快速编写tcp应用程序。
  • grab - 用于管理文件下载的Go包。
  • graval - 实验性FTP服务器框架。
  • jazigo - Jazigo是一个用Go编写的工具,用于检索多个网络设备的配置。
  • kcp-go - KCP - 快速可靠的ARQ协议。
  • kcptun - 基于KCP协议的极其简单快速的udp隧道。
  • lhttp - 强大的websocket框架,更轻松地构建您的IM服务器。
  • linkio - 读/写器接口的网络链接速度模拟。
  • llb - 对于代理服务器来说,这是一个非常简单但快速的后端。可用于快速重定向到预定义域,内存分配为零,响应速度快。
  • mdns - Golang中的简单mDNS(多播DNS)客户端/服务器库。
  • mqttPaho - Paho Go Client提供了一个MQTT客户端库,用于通过TCP,TLS或WebSockets连接到MQTT代理。
  • portproxy - 简单的TCP代理,它为不支持它的API添加CORS支持。
  • publicip - Package publicip返回面向公众的IPv4地址(Internet出口)。
  • raw - Package 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服务器的库。
  • utp - 去uTP微传输协议实现。
  • water - 简单的TUN / TAP库。
  • winrm - Go WinRM客户端在Windows机器上远程执行命令。
  • xtcp - TCP Server Framework,具有同步全双工通信,正常关闭,自定义协议。
  • YANNFF - 云和裸机的高性能网络功能快速开发框架。

OpenGL的

在Go中使用OpenGL的库。

  • gl - Go Open绑定(通过发光生成)。
  • glfw - 为GLFW 3绑定绑定。
  • goxjs / gl - 转到跨平台的OpenGL绑定(OS X,Linux,Windows,浏览器,iOS,Android)。
  • goxjs / glfw - 用于创建OpenGL上下文和接收事件的跨平台glfw库。
  • mathgl - Pure Go数学软件包,专门用于3D数学,灵感来自GLM。

ORM

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

  • beego orm - 强大的orm框架。支持:pq / mysql / sqlite3。
  • go-pg - PostgreSQL ORM,专注于PostgreSQL的特定功能和性能。
  • go-queryset - 具有代码生成的100%类型安全ORM和基于GORM的MySQL,PostgreSQL,Sqlite3,SQL Server支持。
  • go-sqlbuilder - 灵活而强大的SQL字符串构建器库以及零配置ORM。
  • go-store - 简单快速的Redis支持Go的键值存储库。
  • gomodel - 轻量级,快速,类似orm的库有助于与数据库交互。
  • GORM - Golang的精彩ORM库,旨在让开发人员更加友好。
  • gorp - Go关系持久性,Go的ORM-ish库。
  • lore - Go的简单轻量级伪ORM /伪结构映射环境。
  • Marlow - 从项目结构生成的ORM,用于编译时安全保证。
  • pop / soda - 用于MySQL,PostgreSQL和SQLite的数据库迁移,创建,ORM等。
  • QBS - 代表按结构查询。一个Go ORM。
  • 改革 -对走得更好ORM的基础上,非空接口和代码生成。
  • SQLBoiler - ORM生成器。生成针对您的数据库架构量身定制的功能强大且速度极快的ORM。
  • upper.io/db - 单个接口,用于通过使用包装成熟数据库驱动程序的适配器与不同的数据源进行交互。
  • Xorm - 简单而强大的ORM for Go。
  • 缩放 - 基于Redis的快速数据存储和查询引擎。

包管理

用于包和依赖关系管理的库。

  • dep - Go依赖工具。
  • gigo - golang的 PIP依赖工具,支持私有存储库和哈希。
  • 滑行 - 轻松管理您的golang供应商和销售包裹。灵感来自Maven,Bundler和Pip等工具。
  • godep - go的依赖工具,godep通过修复它们的依赖关系来帮助重复构建包。
  • gom - 去经理 - 捆绑去吧。
  • goop - Go(Golang)的简单依赖管理器,受Bundler的启发。
  • gop - 从GOPATH构建和管理你的Go应用程序
  • gopm - Go Package Manager。
  • govendor - Go Package Manager。使用与标准供应商文件一起使用的供应商工具。
  • gpm - Go的Barebones依赖管理器。
  • gvt - gvt是一个简单的销售工具,用于基于gb-vendor的Go native vendoring(aka GO15VENDOREXPERIMENT)。
  • johnny-deps - 使用Git的最小依赖版本。
  • nut - Vendor Go依赖项。
  • VenGO - 创建和管理可出口的隔离虚拟环境。

查询语言

资源嵌入

  • esc - 将文件嵌入到Go程序中,并为它们提供http.FileSystem接口。
  • fileb0x - 嵌入文件的简单工具,专注于“自定义”,易于使用。
  • go-embed - 生成go代码以将资源文件嵌入到库或可执行文件中。
  • go-resources - 使用Go嵌入不合适的资源。
  • go.rice - go.rice是一个Go包,可以很容易地处理html,js,css,图像和模板等资源。
  • 静态 - 将静态资源嵌入到单个二进制编译的go文件中+使用http.FileSystem +符号链接。
  • statik - 将静态文件嵌入Go可执行文件中。
  • templify - 将外部模板文件嵌入到Go代码中以创建单个文件二进制文件。
  • vfsgen - 生成静态实现给定虚拟文件系统的vfsdata.go文件。

科学与数据分析

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

  • blas - BLAS(基本线性代数子程序)的实现。
  • 图表 - Go的简单图表绘图库。支持许多图形类型。
  • evaler - 简单浮点算术表达式求值程序。
  • ewma - 指数加权移动平均线。
  • geom - golang的2D几何体。
  • go-dsp - Go的数字信号处理。
  • go-fn - 用Go语言编写的数学函数,不包括在数学pkg中。
  • go-gt - 用“Go”语言编写的图论算法。
  • go.matrix - go的线性代数(已经停滞)。
  • gocomplex - Go编程语言的复数库。
  • Goent - GO实施熵测量
  • gofrac - (goinstallable)分数库,用于支持基本算术。
  • gohistogram - 数据流的近似直方图。
  • gonum / mat64 - 矩阵计算的通用包。包mat64为float64矩阵提供基本的线性代数运算。
  • gonum / plot - gonum / plot提供了一个用于在Go中构建和绘制图的API。
  • goraph - Pure Go图论库(数据结构,算法可视化)。
  • gosl - 用于线性代数,FFT,几何,NURBS,数值方法,概率,优化,微分方程等的科学库。
  • gostat - go语言的统计库。
  • graph - 基本图算法库。
  • ode - 支持扩展状态和基于通道的迭代停止条件的常微分方程(ODE)求解器。
  • pagerank - 在Go中实现的加权PageRank算法。
  • PiHex - 用于十六进制数Pi的“Bailey-Borwein-Plouffe”算法的实现。
  • 稀疏 - 用于线性代数的稀疏矩阵格式,支持科学和机器学习应用,与gonum矩阵库兼容。
  • stats - Golang标准库中缺少常用功能的统计包。
  • streamtools - 用于处理数据流的通用图形工具。
  • vectormath - 适用于Go的Vectormath,改编自Sony的Vector Math库中的标量C函数,如Bullet-2.79源代码(目前无效)中所示。

安全

用于帮助您提高应用程序安全性的库。

  • acmetool - ACME(Let's Encrypt)客户端工具,具有自动续订功能。
  • autocert - 自动配置让我们加密证书并启动TLS服务器。
  • BadActor - 以fail2ban的精神构建的内存中,应用程序驱动的jailer。
  • go-yara - YARA的绑定,“用于恶意软件研究人员(以及其他所有人)的模式匹配瑞士刀”。
  • goSecretBoxPassword - 一个可能是偏执的包,用于安全散列和加密密码。
  • lego - Pure Go ACME客户端库和CLI工具(用于Let的加密)。
  • memguard - 用于处理内存中敏感值的纯Go库。
  • nacl - 执行NaCL的API集。
  • passlib - Futureproof密码哈希库。
  • 安全 - Go的HTTP中间件,有助于快速获得安全性。
  • simple-scrypt - Scrypt包,内置简单明了的API和自动成本校准功能。
  • ssh-vault - 使用ssh密钥加密/解密。

序列化

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

  • asn1 - 用于golang的Asn.1 BER和DER编码库。
  • bambam - 用于Cap'n Proto架构的发电机。
  • colfer - Colfer二进制格式的代码生成。
  • csvutil - 针对原生Go结构的高性能,惯用CSV记录编码和解码。
  • fwencoder - Go的固定宽度文件解析器(编码和解码库)。
  • go-capnproto - Cap'n Proto库和解析器。
  • go-codec - 用于msgpack,cbor和json的高性能,功能丰富,惯用的编码,解码和rpc库,具有基于运行时的OR代码生成支持。
  • gogoprotobuf - 使用小工具的Go协议缓冲区。
  • goprotobuf - 以库和协议编译器插件的形式支持Google的协议缓冲区。
  • jsoniter - 高性能100%兼容直接替换“encoding / json”。
  • mapstructure - 用于将通用映射值解码为本机Go结构的库。
  • php_session_decoder - GoLang库,用于处理PHP会话格式和PHP Serialize / Unserialize函数。
  • structomap - 用于从静态结构轻松动态生成地图的库。

服务器应用

  • algernon - HTTP / 2 Web服务器,内置支持Lua,Markdown,GCSS和Amber。
  • Caddy - Caddy是一种易于配置和使用的HTTP / 2 Web服务器。
  • consul - Consul是一种服务发现,监控和配置工具。
  • devd - 开发人员的本地Web服务器。
  • etcd - 用于共享配置和服务发现的高可用密钥值存储。
  • Fider - Fider是一个收集和整理客户反馈的开放平台。
  • minio - Minio是一个分布式对象存储服务器。
  • nsq - 实时分布式消息传递平台。
  • yakvs - 小型,联网,内存中的键值存储。

模板引擎

用于模板和lexing的库和工具。

  • ace - Ace是Go的HTML模板引擎,灵感来自Slim和Jade。Ace是对Gold的改进。
  • 琥珀 - Amber是Go编程语言的优雅模板引擎。它源自HAML和Jade。
  • 少女 - 标记语言,通过css选择器提供html概述,可通过pkg html / template等扩展。
  • ego - 轻量级模板语言,可让您在Go中编写模板。模板被翻译成Go并编译。
  • fasttemplate - 简单快速的模板引擎。替换模板占位符的速度比文本/模板快10倍。
  • gofpdf - PDF文档生成器,具有对文本,绘图和图像的高级支持。
  • grender - 用于支持扩展其他模板文件的基于文件的模板的html / template的小包装器。
  • 英雄 - 英雄是一个方便,快速和强大的模板引擎。
  • jet - Jet模板引擎。
  • kasia.go - 用于HTML和其他文本文档的模板系统 - 去实现。
  • liquid - Go实施Shopify Liquid模板。
  • 小胡子 - 去实现Mustache模板语言。
  • pongo2 - Go的Django式模板引擎。
  • quicktemplate - 快速,强大且易于使用的模板引擎。将模板转换为Go代码,然后编译它。
  • raymond - Go中的完整把手实现。
  • Razor - Golang的Razor视图引擎。
  • 大豆 - 按照官方规范关闭Go的封闭模板(又名大豆模板)。
  • 天鹅绒 - Go中的完整把手实施。

96 承诺一时的华丽 

测试

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

  • 测试框架

    • 断言 - 基本断言库与侧面本机测试一起使用,带有用于自定义断言的构建块。
    • badio - Go的testing/iotest包扩展。
    • baloo - 简单而通用的端到端HTTP API测试变得简单。
    • bro - 在目录中监视文件并为它们运行测试。
    • cupaloy - 您的测试框架的简单快照测试插件。
    • dbcleaner - 用于测试目的的清理数据库,受database_cleanerRuby的启发。
    • dsunit - SQL,NoSQL,结构化文件的数据存储区测试。
    • endly - 声明式端到端功能测试。
    • frisby - REST API测试框架。
    • 银杏 - Go的BDD测试框架。
    • go-carpet - 查看终端测试覆盖范围的工具。
    • go-mutesting - Go源代码的变异测试。
    • go-vcr - 记录并重放您的HTTP交互,以进行快速,确定和准确的测试。
    • 地精 - 摩卡喜欢Go的测试框架。
    • gocheck - 更高级的测试框架替代gotest。
    • GoConvey - 具有Web UI和实时重新加载的BDD风格框架。
    • gocrest - 用于Go断言的可组合的类似Hamcrest的匹配器。
    • godog - Cucumber或Behat喜欢Go的BDD框架。
    • gofight - Golang路由器框架的API处理程序测试。
    • gogiven - 类似YATSPEC的BDD测试框架。
    • gomega - Rspec就像matcher / assertion库。
    • GoSpec - Go编程语言的BDD风格测试框架。
    • gospecify - 这提供了用于测试Go代码的BDD语法。任何使用过像rspec这样的库的人都应该很熟悉。
    • gosuite - testing通过利用Go1.7的Subtests 带来设置/拆卸设施的轻量级测试套件。
    • Hamcrest - 声明性Matcher对象的流畅框架,当应用于输入值时,会生成自描述结果。
    • httpexpect - 简明,声明且易于使用的端到端HTTP和REST API测试。
    • restit - Go micro framework帮助编写RESTful API集成测试。
    • testfixtures - Rails的帮助程序,如测试数据库应用程序的测试夹具。
    • 作证 - 对标准测试包的神圣扩展。
    • wstest - 用于对websocket http.Handler进行单元测试的Websocket客户端。
  • 嘲笑

    • counterfeiter - 用于生成自包含模拟对象的工具。
    • go-sqlmock - 用于测试数据库交互的Mock SQL驱动程序。
    • go-txdb - 基于单个事务的数据库驱动程序主要用于测试目的。
    • gock - 多才多艺的HTTP 模拟很容易。
    • gomock - Go编程语言的模拟框架。
    • govcr - Golang的 HTTP模拟:记录和重放用于离线测试的HTTP交互。
    • minimock - 用于Go接口的模拟生成器。
    • mockhttp - Go http.ResponseWriter的模拟对象。
  • 模糊测试和增量调试/缩减/缩小。

    • go-fuzz - 随机测试系统。
    • gofuzz - 用于使用随机值填充go对象的库。
    • Tavor - 通用模糊测试和增量调试框架。
  • Selenium和浏览器控制工具。

    • cdp - 适用于Chrome调试协议的类型安全绑定,可与浏览器或实现它的其他调试目标一起使用。
    • chromedp - 驱动/测试Chrome,Safari,Edge,Android Webviews以及支持Chrome调试协议的其他浏览器的方法。
    • ggr - 路由和代理Selenium Wedriver请求多个Selenium集线器的轻量级服务器。
    • selenoid - 在容器中启动浏览器的备用Selenium中心服务器。

文字处理

用于解析和操作文本的库。

  • 具体格式
    • align - 一个对齐文本的通用应用程序。
    • allot - CLI工具和漫游器的占位符和通配符文本解析。
    • bbConvert - 将bbCode转换为HTML,允许您添加对自定义bbCode标记的支持。
    • blackfriday - Go中的Markdown处理器。
    • bluemonday - HTML Sanitizer。
    • colly - Gophers的快速优雅的刮痧框架
    • doi - Go中的文档对象标识符(doi)解析器。
    • editorconfig-core-go - Go的Editorconfig文件解析器和操作器。
    • enca - libenca的最小cgo绑定。
    • genex - 计算并将正则表达式扩展为所有匹配的字符串。
    • github_flavored_markdown - GitHub Flavored Markdown渲染器(使用blackfriday),带有围栏代码块高亮显示,可点击的标题锚链接。
    • go-fixedwidth - 固定宽度文本格式(带反射的编码器/解码器)。
    • go-humanize - 将时间,数字和内存大小格式化为人类可读格式。
    • go-nmea - Go语言的NMEA解析器库。
    • go-runewidth - 获取字符或字符串固定宽度的函数。
    • go-slugify - 使用多种语言支持制作相当的slug。
    • go-vcard - 解析并格式化vCard。
    • gofeed - 在Go中解析RSS和Atom提要。
    • gographviz - 解析Graphviz DOT语言。
    • gommon / bytes - 将字节格式化为字符串。
    • gonameparts - 将人名解析为个别名称部分。
    • goq - 使用带有jQuery语法的struct标签声明解组HTML(使用GoQuery)。
    • GoQuery - GoQuery为Go语言带来了类似于jQuery的语法和一组功能。
    • goregen - 用于从正则表达式生成随机字符串的库。
    • gotext - Go的GNU gettext实用程序。
    • guesslanguage - 确定unicode文本的自然语言的函数。
    • 注入 - 包注入提供基于反射的注射器。
    • mxj - 将XML编码/解码为JSON或map [string] interface {}; 使用点符号路径和通配符提取值。替换x2j和j2x包。
    • sh - Shell解析器和格式化程序。
    • slug - 具有多种语言支持的URL友好的slugify。
    • Slugify - Go slugify应用程序处理字符串。
    • toml - TOML配置格式(带反射的编码器/解码器)。
  • 效用
    • gotabulate - 使用Go轻松漂亮地打印表格数据。
    • kace - 涵盖常见初始主义的常见案例转换。
    • parseargs-go - 理解引号和反斜杠的字符串参数解析器。
    • parth - URL路径分段解析。
    • 基数 - 快速字符串排序算法。
    • xj2go - 将xml或json转换为struct。
    • xurls - 从文本中提取网址。

第三方API

用于访问第三方API的库。

公用事业

一般实用工具和工具,让您的生活更轻松。

  • abutil - 经常使用的Golang助手的集合。
  • apm - 使用HTTP API的Golang应用程序的进程管理器。
  • backscanner - 类似于bufio.Scanner的扫描程序,但它以相反的顺序读取和返回行,从给定位置开始并向后移动。
  • boilr - 用于从样板模板创建项目的超快CLI工具。
  • chyle - 使用具有多种配置可能性的git存储库的Changelog生成器。
  • circuit - 一种高效且功能齐全的Hystrix,就像断路器模式的Go实现一样。
  • 断路器 -断路器在Go。
  • clockwerk - 使用简单流畅的语法来打包以安排定期作业。
  • command - 带线程安全串行和并行调度程序的Go的命令模式。
  • coop - Go中一些常见并发流的备忘单。
  • copy-pasta - 通用多工作站剪贴板,使用S3作为后端进行存储。
  • ctop - 容器指标的类似顶部的界面(例如htop)。
  • 死亡 - 通过信号管理应用程序关闭。
  • Deepcopier - Go的简单结构复制。
  • 钻研 - 去调试器。
  • dlog - 编译时控制的记录器,可在不删除调试调用的情况下缩小版本。
  • ergo - 简化了在不同端口上运行的多个本地服务的管理。
  • 评估者 - 基于s表达式动态评估表达式。它简单易用。
  • excelize - 用于读取和编写Microsoft Excel™(XLSX)文件的Golang库。
  • fastlz - 为GoLang包装FastLz(免费,开源,便携式实时压缩库)。
  • filetype - 用于推断检查幻数签名的文件类型的小包。
  • 填充 - 使用“填充”标记填充结构的小实用程序。
  • fzf - 用Go编写的命令行模糊查找器。
  • generate - 运行在指定的路径或环境变量上递归生成,并可以通过正则表达式进行过滤。
  • 绅士 - 全功能的插件驱动的HTTP客户端库。
  • git-time-metric - 简单,无缝,轻量级的Git时间跟踪。
  • GJSON - 使用一行代码获取JSON值。
  • go-astitodo - 在你的GO代码中解析TODO
  • go-bind-plugin - go:生成用于包装由golang插件导出的符号的工具(仅限1.8)。
  • go-cron - 用于go的简单Cron库,可以在不同的时间间隔执行闭包或函数,从特定日期和时间的每秒一次到每年一次。主要用于Web应用程序和长时间运行的守护进程。
  • go-debug - Golang库和应用程序的条件调试日志记录。
  •  - 干(不要重复自己)Go包。
  • go-funk - Modern Go实用程序库,提供帮助程序(map,find,contains,filter,chunk,reverse,...)。
  • go-httpheader - 用于将结构编码到Header字段的库。
  • go-rate - Go的定时速率限制器。
  • go-respond - 用于处理常见HTTP JSON响应的Go包。
  • go-sitemap-generator - 用Go编写的XML Sitemap生成器。
  • go-torch - Go程序的随机火焰图分析器。
  • go-trigger - Go-lang全局事件触发器,使用id注册事件并从项目的任何位置触发事件。
  • go-underscore - 有用的Go功能集合实用程序的有用集合。
  • goback - 转到简单的指数退避包。
  • godaemon - 写守护进程的实用程序。
  • godropbox - 用于从Dropbox编写Go服务/应用程序的通用库。
  • gohper - 各种工具/模块有助于开发。
  • gojq - Golang中的 JSON查询。
  • gojson - 从示例JSON自动生成Go(golang)结构定义。
  • golarm - 带系统事件的火警。
  • golog - 简单轻便的CLI工具,可以跟踪您的任务。
  • gopencils - 小而简单的包,可以轻松使用REST API。
  • goplaceholder - 一个用于生成占位符图像的小golang lib。
  • goreleaser - 尽可能快速,轻松地发送Go二进制文件。
  • goreporter - Golang工具,可进行静态分析,单元测试,代码审查和生成代码质量报告。
  • goreq - Go语言的最小简单请求库。
  • goreq - 基于gorequest的增强型简化HTTP客户端。
  • gorequest - 简化的HTTP客户端,具有丰富的Go功能。
  • goseaweedfs - 具有几乎全部功能的SeaweedFS客户端库。
  • gotenv -负载环境变量的.env或任何io.Reader在Go。
  • goxlsxwriter - 用于编写XLSX(Microsoft Excel)文件的libxlsxwriter的 Golang绑定。
  • gpath - 用反射中的Go表达式简化访问结构字段的库。
  • grequests - 优雅而简单的net/http包装器,遵循Python的请求库。
  • gron - 使用简单的Go API定义基于时间的任务,Gron的调度程序将相应地运行它们。
  • htcat - 并行和流水线HTTP GET实用程序。
  • httpcontrol - 包httpcontrol允许围绕超时和重试进行HTTP传输级别控制。
  • hub - 包含git命令,具有与终端中的github交互的附加功能。
  • hystrix-go - 实现程序员定义的回退(即断路器)的Hystrix模式。
  • 不朽 - * nix跨平台(OS不可知)主管。
  • 内在 - 使用x86 SIMD而无需编写任何汇编代码。
  • JobRunner - 智能且功能强大的cron作业调度程序,内置作业排队和实时监控功能。
  • jsonapi-errors - 基于JSON API错误引用转到绑定。
  • jsonf - 用于突出显示格式和结构查询获取JSON的控制台工具。
  • jsongo - Fluent API,可以更轻松地创建Json对象。
  • jsonhal - Simple Go包使自定义结构编组为HAL兼容的JSON响应。
  • kazaam - 用于任意转换JSON文档的API。
  • lrserver - Go的LiveReload服务器。
  • mc - Minio Client提供了与Amazon S3兼容的云存储和文件系统一起使用的最少工具。
  • mergo - Helper在Golang合并结构和地图。用于配置默认值,避免凌乱的if语句。
  • minify - HTML,CSS,JS,XML,JSON和SVG文件格式的快速缩小器
  • minquery - 支持高效分页的MongoDB / mgo.v2查询(游标继续列出我们中断的文档)。
  • mmake - 现代制作。
  • moldova - 基于输入模板生成随机数据的实用程序。
  • mp - 简单的cli电子邮件解析器。它目前需要stdin并输出JSON。
  • mssqlx - 数据库客户端库,任何主从属的代理,主主结构。轻量化和自动平衡。
  • multitick - 用于对齐代码的多路复用器。
  • myhttp - 使用超时支持发出HTTP GET请求的简单API。
  • netbug - 轻松远程分析您的服务。
  • ngrok - 对localhost的内省隧道。
  • okrun - 去运行错误压路机。
  • onecache - 支持多个后端存储的缓存库(Redis,Memcached,文件系统等)。
  • panicparse - 对类似的goroutines进行分组并着色堆栈转储。
  • peco - 简单的交互式过滤工具。
  • pester - 使用重试,退避和并发进行HTTP客户端调用。
  • pm - 使用HTTP API的进程(即goroutine)管理器。
  • profile - Go的简单性能分析支持包。
  • rclient - REST API的可读,灵活,易用的客户端。
  • 实现 - 使用文件监视器和实时重新加载构建系统。使用自定义路径运行,构建和查看文件更改。
  • 重复 - 实施不同的退避策略,可用于重试操作和心跳。
  • 请求 - 针对Humans™ 发送 HTTP请求。
  • rerate - 基于Redis的速率计数器和Go的速率限制器。
  • 重新运行 - 在源更改时重新编译并重新运行应用程序。
  • resty - 受Ruby rest-client启发的Go的简单HTTP和REST客户端。
  • 重试 - 基于上下文的功能机制,重复执行操作直到成功。
  • retry-go - 对于golang来说,重试变得简单易行。
  • 强大 - 运行弹性,捕获并重启恐慌。
  • rq - golang stdlib HTTP客户端的一个更好的接口。
  • 调度程序 - Cronjobs调度变得简单。
  • sling - 用于API客户端的HTTP请求构建器。
  • spinner - Go包可以轻松地为终端微调器提供选项。
  • sqlx - 在优秀的内置数据库/ sql包之上提供了一组扩展。
  • Storm - BoltDB简单而强大的工具包。
  • 结构 - 实现操作结构的简单函数。
  • 任务 - 简单的“制造”替代方案。
  • 工具箱 - 切片,地图,多图,结构,功能,数据转换实用程序。服务路由器,宏评估器,标记器。
  • ugo - ugo是一个切片工具箱,带有简洁的Go语法。
  • UNIS - Go中字符串实用程序的通用架构™。
  • usql - usql是SQL数据库的通用命令行界面。
  • util - 有用的实用程序函数的集合。(字符串,并发,操作,......)。
  • wuzz - 用于HTTP检查的交互式cli工具。
  • xferspdy - Xferspdy在golang中提供二进制diff和补丁库。
  • xlsx - 用于简化读取Go程序中最近版本的Microsoft Excel使用的XML格式的库。

验证

用于验证的库。

  • govalidator - 字符串,数字,切片和结构的验证器和消毒器。
  • govalidator - 使用简单的规则验证Golang请求数据。受到Laravel的请求验证的启发。
  • ozzo-validation - 支持使用通常的代码构造中指定的可配置和可扩展的验证规则来验证各种数据类型(结构,字符串,映射,切片等),而不是结构标记。
  • validate - 此包提供了为Go应用程序编写验证的框架。
  • 验证器 - 进行结构和场验证,包括交叉场,交叉结构,地图,切片和阵列潜水。

版本控制

用于版本控制的库。

  • gh - GitHub Webhooks的可编写脚本的服务器和net / http中间件。
  • git2go - 为libgit2绑定绑定。
  • go-vcs - 在Go中操作和检查VCS存储库。
  • hgo - Hgo是Go包的集合,提供对本地Mercurial存储库的读访问。

视频

用于操纵视频的库。

  • gmf - 为FFmpeg av *库绑定绑定。
  • go-astisub - 操纵GO中的字幕(.srt,.stl,.ttml,.webvtt,.ssa / .ass,teletext,.smi等)。
  • go-astits - 在GO中本地解析和解复用MPEG传输流(.ts)。
  • goav - FFmpeg的Comphrensive Go绑定。
  • gst - GStreamer的绑定。
  • libgosubs - go的字幕格式支持。支持.srt,.ttml和.ass。
  • v4l - 用Go编写的Linux视频捕获库。

96 承诺一时的华丽 

Web框架

完整的堆栈web框架。

  • aah - Go的可扩展,高性能,快速开发的Web框架。
  • Air - Go的理想RESTful Web框架。
  • Banjo - 非常简单快速的Go框架。
  • Beego - beego是Go编程语言的开源,高性能Web框架。
  • 布法罗 - 带来Rails的生产力!
  • Echo - 高性能,极简主义的Go Web框架。
  • 火球 - 更“自然”的感觉网络框架。
  • Florest - 基于REST API的高性能工作流框架。
  • Gem - 简单快速的Web框架,对REST API友好。
  • Gin - Gin是一个用Go编写的Web框架!它具有类似马提尼的API,具有更好的性能,速度提高了40倍。如果您需要性能和良好的生产力。
  • Gizmo - 纽约时报使用的微服务工具包。
  • go-json-rest - 设置RESTful JSON API的快捷方法。
  • go-relax - 用于构建RESTful API的可插入组件的框架。
  • go-rest - Go的小而邪恶的REST框架。
  • goa - 基于Ruby的Praxis设计开发微服务的框架。
  • Goat - Go中的Minimalistic REST API服务器。
  • Golf - Golf是一款快速,简单,轻量级的微型Web框架。它具有强大的功能,除了Go标准库之外没有其他依赖项。
  • 贡多拉 - 用于更快地编写更快网站的Web框架。
  • gongular - 具有输入映射/验证和(DI)依赖注入的Fast Go Web框架。
  • Macaron - Macaron是Go中一个高效的模块化设计Web框架。
  • mango - Mango是Go的模块化Web应用程序框架,受Rack和PEP333的启发。
  • 微服务 -为创建微服务的,写在Golang框架。
  • neo - Neo是简单快速的Go Web Framework,具有极其简单的API。
  • Resoursea - 用于快速编写基于资源的服务的REST框架。
  • REST层 - 在数据库之上构建REST / GraphQL API的框架,主要是代码配置。
  • Revel - Go语言的高效Web框架。
  • rex - Rex是一个基于gorilla / mux的模块化开发库,完全兼容net/http
  • sawsij - 轻量级的开源Web框架,用于构建高性能,数据驱动的Web应用程序。
  • tango - Go的微型和可插拔Web框架。
  • tigertonic - 用于构建受Dropwizard启发的JSON Web服务的框架。
  • 流量 --Sinatra为Go启发了regexp / pattern mux和web框架。
  • utron - Go(Golang)的轻量级MVC框架。
  • violetear - 去HTTP路由器。
  • YARF - 快速微框架,旨在以快速简单的方式构建REST API和Web服务。
  • Zerver - Zerver是一个富有表现力,模块化,功能完善的RESTful框架。

中间件

实际的中间件

  • CORS - 轻松为您的API添加CORS功能。
  • formjson - 透明地将JSON输入作为标准表单POST处理。
  • 限制器 - Go的死简单速率限制中间件。
  • 收费站 - 速率限制HTTP请求处理程序。
  • XFF - 处理X-Forwarded-For标题和朋友。

用于创建HTTP中间件的库

  • alice - Go的无痛中间件链接。
  • catena - http.Handler包装器连接(与“链”相同的API)。
  • chain - 处理程序包装器与范围数据链接(基于网络/上下文的“中间件”)。
  • go-wrap - 用于net / http的小型中间件包。
  • gores - Go包处理HTML,JSON,XML等响应。对RESTful API很有用。
  • interpose - golang的极简主义网络/ http中间件。
  • muxchain - 用于net / http的轻量级中间件。
  • negroni - Golang的惯用HTTP中间件。
  • render - Go包,用于轻松呈现JSON,XML和HTML模板响应。
  • 渲染器 - Go的简单,轻量级和快速响应(JSON,JSONP,XML,YAML,HTML,File)渲染包。
  • 黑麦 - Tiny Go中间件库(带有固定中间件),支持JWT,CORS,Statsd和Go 1.7上下文。
  • 统计信息 - 转到存储有关Web应用程序的各种信息的中间件。
  • 易失性 - 极简中间件堆栈,提升灵活性,良好实践和清洁代码。

路由器

  • 外星人 - 来自外太空的轻量级和快速的http路由器。
  • Bone - Lightning Fast HTTP Multiplexer。
  • Bxog - Go的简单快速HTTP路由器。它适用于不同难度,长度和嵌套的路线。他知道如何根据收到的参数创建一个URL。
  • chi - 基于网络/上下文构建的小型,快速且富有表现力的HTTP路由器。
  • fasthttprouter - 来自的高性能路由器httprouter。第一个路由器适合fasthttp
  • FastRouter - 用Go编写的快速,灵活的HTTP路由器。
  • gocraft / web - Go中的Mux和中间件包。
  • Goji - Goji是一个简约灵活的HTTP请求多路复用器,支持net/context
  • GoRouter - GoRouter是一个服务器/ API微型框架,HTTP请求路由器,多路复用器,多路复用器,为请求路由器提供中间件支持net/context
  • gowww / router - Lightning fast HTTP路由器与net / http.Handler接口完全兼容。
  • httprouter - 高性能路由器。使用它和标准的http处理程序来形成一个非常高性能的Web框架。
  • httptreemux - Go的高速,灵活的基于树的HTTP路由器。来自httprouter的灵感。
  • lars - 用于Go的轻量级,快速且可扩展的零分配HTTP路由器,用于创建可自定义的框架。
  • medeina - Medeina是一个基于HttpRouter的HTTP路由树,灵感来自Roda和古巴。
  • mux - golang强大的URL路由器和调度程序。
  • ozzo-routing - 一种极速的Go(golang)HTTP路由器,支持正则表达式路由匹配。全面支持构建RESTful API。
  • 拍摄 - 由Sinatra的作者为Go的网络/ http库提供的Sinatra风格模式复用器。
  • pure - 是一个轻量级HTTP路由器,坚持std“net / http”实现。
  • Siesta - 用于编写中间件和处理程序的可组合框架。
  • vestigo - 用于go web应用程序的高性能,独立,HTTP兼容的URL路由器。
  • XMUX -基于高性能复用器httprouternet/context支持。
  • zeus - Go的非常简单和快速的HTTP路由器。

视窗

  • d3d9 - 转到Direct3D9的绑定。
  • go-ole - golang的Win32 OLE实现。

XML

用于操作XML的库和工具。

  • XML-Comp - 简单的命令行XML比较器,用于生成文件夹,文件和标记的差异。
  • xmlwriter - 基于libxml2的xmlwriter模块的过程XML生成API。
  • xpath - Go的XPath包。
  • xquery - XQuery允许您使用XPath表达式从HTML / XML文档中提取数据。

工具

去软件和插件。

代码分析

  • apicompat - 检查Go项目的最新更改,以了解向后不兼容的更改。
  • dupl - 用于代码克隆检测的工具。
  • errcheck - Errcheck是一个用于检查Go程序中未经检查的错误的程序。
  • gcvis - 实时可视化Go程序GC跟踪数据。
  • Go Metalinter - Metalinter是一种自动应用所有静态分析工具并以标准化形式报告其输出的工具。
  • go-checkstyle - checkstyle是一种样式检查工具,如java checkstyle。这个工具的灵感来自java checkstyle,golint。这种风格涉及Go Code Review Comments中的一些要点。
  • go-cleanarch - go-cleanarch用于验证Clean Architecture规则,例如Dependency Rule以及Go项目中包之间的交互。
  • go-outdated - 显示过期软件包的控制台应用程序。
  • goast-viewer - 基于Web的Golang AST可视化工具。
  • GoCover.io - GoCover.io提供任何golang包作为服务的代码覆盖率。
  • goimports - 自动修复(添加,删除)Go导入的工具。
  • GoLint - Golint是Go源代码的linter。
  • Golint online - 在线提示使用golint包在GitHub,Bitbucket和Google Project Hosting上获取源文件。
  • goreturns - 添加零值返回语句以匹配func返回类型。
  • gosimple - gosimple是Go源代码的一个linter,专门用于简化代码。
  • gostatus - 命令行工具,显示包含Go包的存储库的状态。
  • interfacer - 建议接口类型的Linter。
  • lint - 作为go测试的一部分运行linters。
  • staticcheck - staticcheck是go vet关于类固醇的,应用了大量的静态分析检查,你可能会习惯使用ReSharper等C#工具。
  • tarp -tarp在Go源代码中找不到直接单元测试的函数和方法。
  • 不转换 - 从Go源中删除不必要的类型转换。
  • 未使用 - 未使用的检查转到未使用的常量,变量,函数和类型的代码。
  • validate - 使用标记自动验证结构字段。

编辑插件

  • Go插件用于JetBrains IDE - Go插件用于JetBrains IDE。
  • go-language-server - 将VSCode转换扩展为支持语言服务器协议的语言服务器的包装器。
  • go-mode - GNU / Emacs的Go模式。
  • go-plus - 用于Atom的Go(Golang)包,用于添加自动完成,格式化,语法检查,Linting和Vetting。
  • Goclipse - Go的Eclipse插件。
  • gocode - Go编程语言的自动完成守护程序。
  • GoSublime - 文本编辑器SublimeText 3的Golang插件集合,提供代码完成和其他类似IDE的功能。
  • theia-go-extension - 为Theia IDE提供语言支持。
  • velor - 极端编辑器的IRC客户端。
  • vim-compiler-go - 用于在保存时突出显示语法错误的Vim插件。
  • vim-go - 针对Vim的Go开发插件。
  • vscode-go - Visual Studio Code(VS Code)的扩展,它提供对Go语言的支持。
  • 观察 - 在文件更改的极致胜利中运行命令。

去生成工具

  • 通用 - Go的灵活数据类型。
  • genny - Go的优雅仿制药。
  • gonerics - Go中的惯用语泛型。
  • gotests - 从源代码生成Go测试。
  • re2dfa - 将正则表达式转换为有限状态机并输出Go源代码。

去工具

  • colorgo - go用于彩色go build输出的命令包装器。
  • depth - 通过分析导入来可视化任何包的依赖关系树。
  • gb - 一种易于使用的基于项目的Go编程语言构建工具。
  • generator-go-lang - 一个Yeoman发电机,用于启动新的Go项目。
  • go-callvis - 使用点格式可视化Go程序的调用图。
  • go-pkg-complete - go和wgo的Bash完成。
  • go-swagger - Swagger 2.0实现go。Swagger是RESTful API的简单而强大的代表。
  • OctoLinker - 使用适用于GitHub的OctoLinker浏览器扩展,有效地浏览go文件。
  • richgo - 丰富的go test文字装饰输出。
  • rts - RTS:对结构的响应。从服务器响应生成Go结构。

软件包

用Go编写的软件。

DevOps工具

  • aptly - 恰好是Debian存储库管理工具。
  • aurora - 跨平台的基于Web的Beanstalkd队列服务器控制台。
  • awsenv - 为配置文件加载Amazon(AWS)环境变量的小二进制文件。
  • Banshee - 周期性指标的异常检测系统。
  • Blast - 用于API负载测试和批处理作业的简单工具。
  • bombardier - 快速的跨平台HTTP基准测试工具。
  • bosun - 时间序列警报框架。
  • dogo - 监视源文件中的更改并自动编译和运行(重新启动)。
  • drone-jenkins - 使用二进制,docker或Drone CI触发下游Jenkins作业。
  • drone-scp - 使用二进制,docker或Drone CI通过SSH复制文件和工件。
  • Dropship - 通过cdn部署代码的工具。
  • easyssh-proxy - Golang软件包,可通过SSH和SCP下载轻松实现远程执行ProxyCommand
  • Gitea - Gogs之叉,完全由社区驱动。
  • Go Metrics - 转到Coda Hale的Metrics库的端口:https//github.com/codahale/metrics
  • go-selfupdate - 使您的Go应用程序能够自我更新。
  • gobrew - gobrew让你轻松切换多个版本的go。
  • godbg - 基于Web的gdb前端应用程序。
  • Gogs - Go编程语言中的自托管Git服务。
  • gonative - 创建Go构建的工具,可以交叉编译到所有平台,同时仍然使用支持Cgo的stdlib软件包版本。
  • govvv - “go build”包装器,可以轻松地将版本信息添加到Go二进制文件中。
  • gox - 死简单,没有多余的装饰去交叉编译工具。
  • goxc - Go的构建工具,专注于交叉编译和打包。
  • grape - 轻量级工具,旨在轻松地在ssh上分发命令。
  • GVM - GVM提供管理Go版本的界面。
  •  - 嘿是一个小程序,它向Web应用程序发送一些负载。
  • kala - 简单,现代,高效的工作调度程序。
  • kubernetes - 来自Google的Container Cluster Manager。
  • manssh - manssh是一个命令行工具,可以轻松管理ssh别名配置。
  • Moby - 集装箱生态系统的协作项目,用于组装基于容器的系统。
  • Mora - 用于访问MongoDB文档和元数据的REST服务器。
  • ostent - 收集并显示系统指标,并可选择中继到Graphite和/或InfluxDB。
  • Packer - Packer是一种从单一来源配置为多个平台创建相同机器映像的工具。
  • Pewpew - 灵活的HTTP命令行压力测试仪。
  • Rodent - Rodent可帮助您管理Go版本,项目和跟踪依赖项。
  • s3gof3r - 小型实用程序/库,针对大型对象进出Amazon S3的高速传输进行了优化。
  • Scaleway-cli - 从命令行管理BareMetal服务器(与Docker一样容易)。
  • sg - 对一组HTTP端点(如ab)进行基准测试,可以根据其先前的响应,在每次调用之间使用响应代码和数据以获取特定的服务器压力。
  • skm - SKM是一个简单而强大的SSH密钥管理器,它可以帮助您轻松管理多个SSH密钥!
  • StatusOK - 监控您的网站和REST API。当您的服务器关闭或响应时间超过预期时,通过Slack,电子邮件通知。
  • traefik - 反向代理和负载均衡器,支持多个后端。
  • Vegeta - HTTP负载测试工具和库。超过9000!
  • webhook - 允许用户创建在服务器上执行命令的HTTP端点(挂钩)的工具。
  • 基于Web的广泛 IDE,适用于使用Golang的团队。
  • winrm-cli - 用于在Windows机器上远程执行命令的Cli工具。

其他软件

  • borg - 基于终端的bash片段搜索引擎。
  • 盒装 - 基于Dropbox的博客引擎。
  • Cherry - Go中的微型网络聊天服务器。
  • 电路 - 电路是一种可编程平台即服务(PaaS)和/或基础设施即服务(IaaS),用于管理,发现,同步和协调包含云应用的服务和主机。
  • Comcast - 模拟糟糕的网络连接。
  • confd - 使用来自etcd或consul的模板和数据管理本地应用程序配置文件。
  • DDNS - 具有数字海洋网络DNS作为后端的个人DDNS客户端。
  • Docker - 面向开发人员和系统管理员的分布式应用程序的开放平台。
  • Documize - 现代wiki软件,集成了SaaS工具的数据。
  • fleet - 分布式init系统。
  • Go Package Store - 显示GOPATH中Go包的更新的应用程序。
  • gocc - Gocc是Go编写的Go编译器工具包。
  • GoDNS - 动态DNS客户端工具,支持用Go编写的DNSPod和HE.net。
  • GoDocTooltip - Go Doc网站的Chrome扩展程序,在功能列表中将功能说明显示为工具提示。
  • GoLand - 全功能的跨平台Go IDE。
  • Gor -Http流量复制工具,用于实时重放从生产到阶段/开发环境的流量。
  • hugo - 快速和现代静态网站引擎。
  • ide - 浏览器可访问的IDE。专为Go with Go设计。
  • ipe - 与GO编写的Pusher客户端库兼容的开源Pusher服务器实现。
  • JayDiff - 用Go编写的JSON diff实用程序。
  • Juju - 与云无关的服务部署和编排 - 支持EC2,Azure,Openstack,MAAS等。
  • Leaps - 使用Operational Transforms对编程服务。
  • limetext - Lime Text是一个强大而优雅的文本编辑器,主要在Go中开发,旨在成为Sublime Text的免费开源软件继承者。
  • LiteIDE - LiteIDE是一个简单的开源跨平台Go IDE。
  • mockingjay - 来自一个配置文件的假HTTP服务器和消费者驱动的合同。您还可以使服务器随机出现异常,以帮助进行更实际的性能测试。
  • myLG - 用Go编写的命令行网络诊断工具。
  • naclpipe - 用Go编写的简单的基于NaCL EC25519的加密管道工具。
  • nes - 用Go编写的任天堂娱乐系统(NES)模拟器。
  • orange-cat - 用Go编写的Markdown预览器。
  • Orbit - 用于运行命令和从模板生成文件的简单工具。
  • peg - Peg,Parsing Expression Grammar,是Packrat解析器生成器的一个实现。
  • Postman - 用于批量发送电子邮件的命令行实用程序。
  • restic - 重复删除备份程序。
  • rkt - 与init系统集成的App Container运行时,与Docker等其他容器格式兼容,并支持KVM等替代执行引擎。
  • 海藻文件系统 - 具有O(1)磁盘搜索功能的快速,简单和可扩展的分布式文件系统。
  • shell2http - 通过http服务器执行shell命令(用于原型设计或远程控制)。
  • snap - 功能强大的遥测框架。
  • Snitch - 当有人通过Tsuru部署任何应用程序时,通知您的团队和许多工具的简单方法。
  • Stack Up - Stack Up,一个超级简单的部署工具 - 就是Unix--把它想象成服务器网络的'make'。
  • syncthing - 开放,分散的文件同步工具和协议。
  • Tenyks - 使用Redis和JSON进行消息传递的面向服务的IRC bot。
  • toto - 用Go语言编写的简单代理服务器,可以与浏览器一起使用。
  • toxiproxy - 用于模拟自动测试的网络和系统条件的代理。
  • tsuru - 可扩展和开源的平台即服务软件。
  • vFlow - 高性能,可扩展且可靠的IPFIX,sFlow和Netflow收集器。
  • websysd - 基于Web的流程管理器(如Marathon或Upstart)。
  • 惠灵顿 - Sass项目管理工具,使用精灵功能扩展语言(如Compass)。

资源

在哪里发现新的Go库。

基准

会议

电子书

地鼠

聚会

在这里添加您所在城市/国家/地区的群组(发送PR

推特

网站

教程

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值