Go框架,库和软件的精选列表 - Go语言中文社区

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记录器。

机器学习

机器学习库。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢