go语言能开发哪些程序

这篇文章主要讲解了“go语言能开发哪些程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“go语言能开发哪些程序”吧!

go语言开发的程序有:1、GraphJin,用于Postgres的即时GraphQL API;2、go-fits,FITS格式图像和数据读取器;3、goenv,可提供Go版本和Go工作区管理工具;4、go-server,敏捷服务器框架;5、gows,Go工作区管理器;6、GVM,提供了一个管理Go版本的接口;7、oh,使用Go编写的Unix shell;8、automi等等。

API 服务和工具

图形语言

  • GraphJin - 用于 Postgres 的即时 GraphQL API。无需代码,将 GraphQL 编译为 SQL。

MTProto

  • MTProto - 在纯 Go 上编写的 Telegram API 的完整本机实现。

天文学

  • go-fits - FITS(灵活图像传输系统)格式图像和数据读取器

  • astrogo/fitsio - Pure Go FITS(灵活图像传输系统)格式图像和数据读取器/写入器

  • cosmo - 常见宇宙学的宇宙距离和时间计算(Friedmann-Lemaître-Robertson-Walker 度量)。

  • gonova - libnova的包装器 -- 天体力学、天体测量学和天体动力学库

  • meeus - Jean Meeus 的“天文算法”的实现

  • novas - 与海军天文台矢量天文测量软件 (NOVAS) 的接口

  • utdfgo - 航天器 UTDF 数据包读取器和解码器

构建工具

  • beku - 在用户环境(GOPATH 或供应商目录)中管理包的库和程序

  • colorgo -着色go 构建输出

  • dogo - 监控源文件的变化并自动编译和运行(重启)

  • fileembed-go - 这是一个命令行实用程序,用于获取大量源文件,并将它们嵌入到 Go 包中

  • gb - Go 的(另一个)构建工具,重点是多包项目

  • gg - 一个小型的多 golang 项目 env/make 管理工具。

  • GG - Go in Go 的构建工具

  • Godag - Go 编译器集合的前端

  • goenv - goenv 提供 Go 版本和 Go 工作区管理工具

  • gopei - 适用于 Unix / Linux 的简单 Go 编译器和 LiteIDE 安装程序,它添加了许多功能,如 github 支持和演示器。

  • go-pkg-config - pkg-config 的轻量级克隆

  • goscons - Go 的另一组 SCons 构建器

  • go-server - 敏捷服务器框架。

  • gotgo - 实现“泛型”的实验性预处理器

  • gows - Go 工作区管理器

  • goxc - 一个专注于交叉编译、打包、版本控制和分发的构建工具

  • GVM - GVM 提供了一个管理 Go 版本的接口

  • Realize - 具有文件观察器、输出流和实时重新加载的 Go 构建系统。使用自定义路径运行、构建和观察文件更改。

  • SCons Go Tools - 一组构建器,可以轻松地在 SCons 中编译 Go 项目

  • Task - 一个任务运行器 / Make 的简单替代方案

缓存

  • cache2go - 具有过期功能和访问计数器的并发安全缓存库

  • cache - Go 的 LevelDB 风格 LRU 缓存,支持非 GC 对象缓存。

  • go-cache - Go 的内存键:值存储/缓存(类似于 Memcached)库,适用于单机应用程序

  • golibs/cache - 一个很小的缓存包

  • gomemcached - go 中的 memcached 服务器

  • gomemcache - 一个 memcached 客户端

  • go-slab - go 的Slab 分配器。

  • groupcache - 缓存和缓存填充库,旨在在许多情况下替代 memcached

  • libmemcache - 使用 memcache 协议的快速客户端和服务器库

  • memcached-bench - 内存缓存服务器的基准工具

  • memcached - 快速的 memcache 服务器,支持超过可用 RAM 的持久性和缓存大小

  • memcache - 转到 memcached 客户端,从 YouTube Vitess 分叉

  • rend - 管理数据分块和 L1/L2 缓存的 memcached 代理

  • YBC 绑定- YBC 库的绑定为快速进程内 blob 缓存提供 API

  • g2cache - 协调的本地和外部两级缓存方案

云计算

  • aws-sdk-go - 适用于 Go 编程语言的 AWS 开发工具包。

  • Docker - Linux 容器运行时。由 dotCloud 开发。

  • 适用于 Go 的Enduro/X ASG应用服务器。为分布式事务处理提供应用服务器和中间件设施。支持基于微服务的应用架构。由 ATR Baltic 开发。

  • Flamingo - 轻量级云实例上下文化器。

  • gocircuit - 一种分布式操作系统,位于数据中心部署中多台机器上的传统操作系统之上。它提供了一个干净统一的抽象,将整个硬件集群视为一个单一的、单一的计算资源。由 Tumblr 开发。

  • gosync - 用于将数据同步到 S3 和从 S3 同步数据的包。

  • juju - 由 Canonical 开发的编排工具(部署、配置和生命周期管理)。

  • Kubernetes - 来自 Google 的容器集群管理器。

  • 基于 liblxc 的LXD守护进程提供 REST API 来管理容器

  • mgmt - 由@purpleidea(红帽员工)和 mgmt 社区开发的下一代配置管理工具(并行、事件驱动、分布式系统)。

  • rclone - “用于云存储的 rsync” - Google Drive、Amazon Drive、S3、Dropbox、Backblaze B2、One Drive、Swift、Hubic、Cloudfiles、Google Cloud Storage、Yandex Files

  • ShipBuilder - ShipBuilder 是一个极简的开源平台即服务,由 Jay Taylor 开发。

  • swift - Swift / Openstack Object Storage / Rackspace 云文件的 Go 语言接口

  • Tsuru - Tsuru 是由 Globo.com 开发的开源多语言云计算平台即服务 (PaaS)。

命令行选项解析器

mellium.im/cli

命令行工具

lsgo generategrep

压缩

dictzip

并发和 Goroutines

  • grpool - 轻量级 Goroutine 池。

  • pool - Go 消费者 goroutine 池,可轻松处理 goroutine + 节省时间。

  • tunny - 一个 goroutine 池。

  • worker - 一个简单轻量级的并发作业框架。

配置文件解析器

code.soquee.net/env.envio.Reader
  • uConfig - 一种无偏见、可扩展和可插入的配置管理。支持 YAML、TOML、JSON、Env vars、K8s DAPI 等。

  • viper - 一个完整的配置解决方案,支持 YAML、TOML 和 JSON 以及与命令行标志的集成

  • 亚姆:

    • yaml - 由 Canonical 提供的对 Go 语言的 YAML 支持

    • goyaml - LibYAML to Go 的一个端口

    • go-yaml - 对 Go 语言的 YAML 支持

控制台用户界面

  • ansi - 轻松创建 ansi 转义代码字符串和闭包以格式化、着色控制台输出

  • ansiterm - pkg 驱动响应 ANSI 转义序列的纯文本控制台

  • cons - 用于构建交互式控制台工具的简单包。

  • gnureadline - GNU Readline 绑定

  • go-ansiout - 另一个用于命令行应用程序的 ANSI 转义码序列工具。

  • gockel - 文本终端的 Twitter 客户端

  • gocui - 旨在创建控制台用户界面的极简库

  • gocurse - NCurses 的绑定

  • gocurses - NCurses 包装器

  • go-ibgetkey - “热键”类型的用户输入包,用于处理命令行应用程序中的击键。

  • go.linenoise - Linenoise 绑定(简单易读的提示,可选历史记录,可选选项卡完成)

  • goncurses - 一个 ncurses 库,包括表单、菜单和面板扩展

  • gopass - 允许输入密码而不回显到屏幕

  • go-pullbarz - 类似于 DOS 时代 Lotus 123 中的花式“灯条”菜单。依赖于 go-ibgetkey 和 go-ansiout。

  • go.sgr - 终端/控制台颜色和文本装饰(粗体、下划线等)。

  • go-stfl - STFL的薄包装,基于 ncurses 的小部件工具包

  • goterminal - 一个 go 库,可让您在终端上编写然后重新编写文本,以更新进度。它也适用于 Windows!

  • go-web-shell - 远程 web shell,实现 net/http 服务器。

  • igo - 一个简单的交互式 Go 解释器,基于 exp / eval 构建,具有一些 readline 改进

  • oh - 用 Go 编写的 Unix shell

  • pty - 获取伪终端设备

  • readline - GNU-Readline 类库的纯 go 实现

  • tcell - Tcell 是一个备用终端包,在某些方面类似于 termbox,但在其他方面更好。

  • termbox-go - ncurses 的极简替代品,用于构建基于终端的用户界面

  • termios - 终端支持

  • termon - Go 的简单终端控制界面。

  • uilive - uilive 是一个实时更新终端输出的 Go 库。

  • uiprogress - 在终端应用程序中呈现进度条的库。

  • uitable - 使用表格数据提高终端应用程序可读性的库。

  • yandex-weather-cli - Yandex 天气服务的命令行界面

持续集成

  • goveralls - 集成Coveralls.io连续代码覆盖率跟踪系统。

  • 工作服- 用于工作服等工具的多包 go 项目coverprofile

加密货币

  • Skycoin - Skycoin 是一种用 Go 编写的下一代加密货币。Skycoin 并非旨在为比特币添加功能,而是通过提高简单性、安全性和去除所有不必要的东西来改进比特币。

密码学

io.ReadWriteCloser

数据处理

  • automi - 在 Go 频道上编写流程和集成流

  • Gleam - 快速、高效且可扩展的分布式 map/reduce 系统,DAG 执行,在内存或磁盘上,独立或分布式运行。

  • Glow - Glow 是一个易于使用的分布式计算系统,类似于 Hadoop Map Reduce、Spark、Flink、Storm。

  • gostatsd - Statsd 服务器和库。

  • Heka - 实时数据和日志文件处理引擎。

  • Kapacitor - 处理、监控和警报时间序列数据的框架。

  • parapipe - FIFO 管道,它在每个阶段并行执行,同时保持消息和结果的顺序

  • pipe - golang 中支持的几种函数式编程(Map/Reduce/Filter)

  • proto - 使用通道作为结果流的 Go 的 Map/Reduce/Filter 等。

  • 棘轮- 用于在 Go 中执行数据管道 / ETL 任务的库。

  • 推荐- 推荐引擎。

  • rrd - rrdtool 的绑定。

  • XConv - 在类型(基本类型、结构、数组、切片、映射等)之间转换任何值

数据结构

收藏

  • 集合- 几种常见的数据结构

  • data-structures -数据结构的集合(ArrayList、SortedList、Set、AVL Tree、Immutable AVL Tree、B+Tree、Ternary Search Trie、Hash Table(Separate Chaining)、Linear Hash Table)

  • ps - 持久化数据结构

  • Tideland golib - 收藏图书馆

哈希表

  • bimap - 一个简单的双向映射实现

  • gohash - 实现集合和映射的简单链表哈希表

  • go-maps - Go 映射到接口

列表

  • fs2/mmlist - 内存映射列表。

  • GoArrayList - GoArrayList 是 Java 类 ArrayList 的 Go 语言替代品,具有几乎所有功能。

  • goskiplist - Go 中的跳过列表实现。

  • itreap - 一个不可变的有序列表,内部是一个 treap。

  • ListDict - 用于 Go 的 Python 列表和字典

  • skip - 快速位置可寻址的有序映射和多映射。

  • Skiplist - 快速可索引的有序多图。

  • skiplist - 跳过列表实现。高度可定制且易于使用。

  • skiplist - 从 Redis 的 Sorted Sets 移植的 Skiplist 数据结构。

  • stackgo - 基于切片的快速堆栈实现。

队列

interface{}

图表

  • 图- 基本图算法库

  • 图- 各种树、图和网络算法的实现

  • groph - 一个纯 Go 图形和算法库

  • disjoint -不相交集(具有路径压缩的联合查找算法)

  • golang-set - Go 的完整线程安全和不安全集实现。

  • goset - 一个简单的、线程安全的 Set 实现

  • set - 为 Go 设置数据结构

树木

  • b - 包 b 实现了带有延迟页面拆分/连接和 O(1) 枚举的 B+树。通过简单的文本替换,可以轻松生成专门用于用户定义的键和值类型的 B+树的源代码。

  • btree - 包 btree 实现了具有固定大小键的持久 B 树,http://en.wikipedia.org/wiki/Btree

  • btree - 内存中(非持久)B 树实现,类似于 GoLLRB 的 API

  • go-avltree - 添加了索引的 AVL 树(Adel'son-Vel'skii & Landis)

  • go-btree - 简单的平衡树实现

  • go-darts - 用于围棋的双阵列 Trie 系统

  • GoLLRB - Google Go 中 2-3 平衡二叉搜索树的左倾红黑(LLRB)实现

  • go-merkle - 带有证明的 Merkle 化二叉(搜索)树。

  • go-radix , go-radix-immutable - 基数树实现。

  • go-stree - 区间范围查询的段树实现

  • gtreap - 持久的 treap 实现。

  • prefixmap - 用于基于字符串的键的简单的基于 trie 的前缀映射

  • rbtree - 高性能红黑树,其 API 类似于 C ++ STL 的集合、映射、多集、多映射。

  • rbtree - 另一个红黑树实现,具有类似 C++ STL 的 API

  • rtreego - 一个 R 树库

  • triego - 用于存储单词的简单 trie 实现

其他

map[string]interface{}

数据库

另请参阅SQLDrivers 页。

蟑螂数据库

  • cockroachdb - 可扩展、可生存、高度一致的 SQL 数据库

Hazelcast IMDG

  • Hazelcast危转客户端-为正式进入客户端实现Hazelcast IMDG,开源内存数据网格。

  • mgo - 用于 Go 的丰富 MongoDB 驱动程序

  • Mongo 驱动程序- 官方 MongoDB Go 驱动程序

  • Rocks-stata - MongoDB 备份工具

  • Go-MySQL-Driver - 用于 Go 的 database/sql 包的轻量级且快速的 MySQL 驱动程序

  • MyMySQL - 完全用 Go 编写的 MySQL 客户端 API。

  • mysqlsuperdump - 生成 MySQL 数据库的部分和过滤转储

  • TiDB - 以 Google 的 F1 设计为模型的 MySQL 兼容分布式数据库。

  • vitess - 为网络扩展 MySQL 数据库

ODBC

  • go-odbc - 用于 Go 的 ODBC 驱动程序

  • odbc3-go - 这个包是 ODBC(版本 3)的包装器。

PostgreSQL

code.soquee.net/migrate

QL

  • ql - 纯 Go 嵌入式 (S)QL 数据库。

Redis

  • godis - Redis 的简单客户端

  • Go-Redis - Redis 键值存储的客户端和连接器

  • go-redis - 基于 gomemcache 框架构建的 Redis 客户端

  • Redigo - Redis 的 Go 客户端。

  • redis - Go 的 Redis 客户端

重新思考数据库

  • GoRethink - 用于 Go 的 RethinkDB 驱动程序

SQLite

  • gosqlite3 - SQLite3 的 Go 接口

  • gosqlite (forked) - gosqlite 的一个分支

  • gosqlite - Go 的简单 SQLite 绑定。

  • go-sqlite - 一个数据库/sql 驱动程序和独立的 sqlite3 接口

  • go-sqlite-lite - 一个用于 Go 的简单 SQLite 包。

  • mattn 的 go-sqlite3 - 符合内置数据库/sql 接口的 sqlite3 驱动程序

维蒂卡

  • vertica-sql-go - Vertica 数据库的纯 Go 驱动程序。

ORM

  • beedb - beedb 是 Go 的 ORM。它允许您将 Go 结构映射到数据库中的表

  • ent - Go 的实体框架

  • FilterXorm - xorm 项目的构建条件。

  • go-modeldb - 一个围绕 sql.DB 的简单包装器,用于结构支持。

  • gorm - Go 的 ORM 库,旨在对开发人员友好

  • gorp - Go 的 SQL 映射器

  • go-firestorm - Cloud Firestore 的简单 Go ORM

  • go-store - Go 的数据存储库,它提供了一组独立于平台的接口来持久化和检索键值数据。

  • hood - 用于 Go 的数据库不可知 ORM。支持 Postgres 和 MySQL。

  • lore - Go 的简单轻量级伪 ORM/伪结构映射环境。

  • qbs - 按结构查询。支持 MySQL、PostgreSQL 和 SQLite3。

  • sqlboiler - 通过代码生成的数据库优先 ORM。

  • sqlgen - 用于 SQL 交互的 Go 代码生成。

  • structable - 结构到表的数据库映射器。

  • xorm - 用于 Go 的简单而强大的 ORM。

  • 改革- 基于非空接口和代码生成的更好的 Go ORM。

  • go-queryset - 用于 Go 的 100% 类型安全 ORM,具有代码生成和 MySQL、PostgreSQL、Sqlite3、SQL Server 支持。

键值存储

  • bolt - 受 LMDB 启发的持久键/值存储。

  • dbm - 包 dbm (WIP) 实现了一个简单的数据库引擎,分层和/或键值引擎的混合。

  • fs2/bptree - 具有重复键支持的内存映射 B+树。适用于大量数据(又名 +100 GB)。支持匿名和文件支持的内存映射。

  • Diskv - 本土的、磁盘支持的键值存储

  • etcd - 用于共享配置和服务发现的高可用键值存储

  • olric分布式缓存和内存键/值数据存储。它既可以用作嵌入式 Go 库,也可以用作独立于语言的服务。

  • gkvlite - 基于仅附加文件格式的纯 go、简单、有序、原子键值持久性。

  • gocask - 受 Riak Bitcask 启发的键值存储。可以用作 dbm 和其他 kv-stores 的纯 go 实现。

  • goleveldb - 纯 Go 中 LevelDB 键/值的另一种实现。

  • kv - 另一个键/值持久存储。原子操作、两阶段提交、自动崩溃恢复、...

  • leveldb-go - 这是 LevelDB 键/值数据库的实现。

  • levigo - levigo 提供了创建和访问 LevelDB 数据库的能力。

  • persival - 程序化、持久化、伪键值存储

图数据库

  • cayley - 100% Go 图形数据库,受 Freebase 和 Google 知识图的启发。

  • Dgraph - 具有类似 GraphQL 的 API 的快速分布式图形数据库。

  • go-gremlin - Apache TinkerTop Graph 分析框架(Gremlin 服务器)的 Go 客户端。

无SQL

  • couchgo - Go 功能最完整的 CouchDB 适配器。模仿 couch.js。

  • influxdb - 用于指标、事件和实时分析的可扩展数据存储

  • Kivik - Kivik 为 CouchDB、PouchDB 和类似数据库提供了一个通用的 Go 和 GopherJS 客户端库。

  • ledisdb - 像 Redis 一样的高性能 NoSQL。

  • nodb - 带有 kv、列表、哈希、zset、位图、集的纯 Go 嵌入 Nosql 数据库。

  • iedot - 使用 JSON 进行文档和查询的 NoSQL 文档数据库引擎;它可以嵌入到您的程序中,或者使用 HTTP 作为 API 运行独立服务器。

其他

  • 内阁- 京都内阁绑定去

  • camlistore - 终身个人分布式存储系统。

  • cdb.go - 创建和读取cdb(“常量数据库”)文件

  • CodeSearch - 对大量源代码进行索引和执行正则表达式搜索

  • dbxml - Oracle Berkeley DB XML 的基本接口

  • drive - 谷歌驱动命令行客户端

  • Event Horizon - 命令查询职责分离和事件溯源工具包 (CQRS/ES)

  • go-batcher - 在 Go 中简单地创建和使用批处理程序

  • go-clickhouse - Yandex Clickhouse 的连接器(面向列的数据库)

  • go-db-oracle - Oracle DB 的 GO 接口

  • gographite - go 中的 statsd 服务器(用于将数据提供给石墨)

  • gokabinet - 京都内阁 DBM 实施的绑定

  • go-model - 健壮且易于使用的 Go 结构映射器和实用程序方法

  • go-notify - libnotify 的 GO 绑定

  • goprotodb - 与 Berkeley DB 的绑定,存储编码为协议缓冲区的记录。

  • go-rexster-client - Rexster 图形服务器的Go 客户端(图形数据库工具TinkerPop套件的一部分)

  • goriak - riak数据库的数据库驱动程序(项目主页现在在 bitbucket.org 上)

  • goriakpbc - 使用 Riak 的 protobuf 接口的 Riak 驱动程序

  • gotyrant - 东京暴君的 Go 包装器

  • go-wikiparse - 用于处理维基百科数据的 mediawiki 转储解析器

  • hdfs - 为 libhdfs 绑定

  • JGDB - JGDB 代表 Json Git 数据库

  • mig - 基于 SQL 的简单数据库迁移

  • mongofixtures - 一个 Go 快速而肮脏的实用程序,用于清理 MongoDB 集合并将设备加载到其中。

  • Neo4j-GO - Go 中的 Neo4j REST 客户端

  • neoism - Neo4j 图形数据库客户端,包括 Cypher 和事务支持。

  • null - 用于在 SQL 中处理空值的包

  • Optimus Cache Prime - 用于带有 XML 站点地图的网站的智能缓存预加载器。

  • piladb - 基于堆栈数据结构的轻量级 RESTful 数据库引擎。

  • pravasan - 简单的迁移工具(如 rake db:migrate 具有更大的灵活性)

  • remapper - 将数据从一种类型转换/映射到另一种类型的库

  • riako - 与 Riak 数据库交互的高级实用方法

  • sqlbuilder - 具有行映射的 SQL 查询构建器

  • sqlf - 在 Go 中创建参数化 SQL 语句,sprintf 风格

  • squirrel - 为 Go 生成流畅的 SQL

  • Sublevel - 同一 LevelDB 的不同部分

  • Weed 文件系统- 快速分布式密钥文件存储

  • 耳语- 用于使用耳语数据库的库

  • xo - CLI 为数据库生成惯用的 Go 代码

日期

Time.strftime

开发工具

  • cwrap - C 库的封装(绑定)生成器。

  • 需求- 轻松下载、构建、缓存和运行 Go 应用程序。

  • glib - GLib 类型系统的绑定

  • go-callvis - 使用点格式可视化 Go 程序的调用图。

  • gocog - 可以使用任何语言生成代码的代码生成器

  • Godepgraph - 为 go 包创建依赖图

  • godev - 在源代码更改时重新编译并运行您的 Go 代码。还可以监视所有导入的更改。

  • godiff - 带有彩色 html 输出的 diff 文件比较工具

  • gonew - 创建新 Go 项目的工具

  • go-play - 用于试验 Go 代码的 HTML5 Web 界面。像http://golang.org/doc/play但在您的计算机上运行

  • gore - Go REPL。具有行编辑、代码完成等功能

  • gorun - 允许将 Go 源文件用作脚本。

  • go-spew - 为 Go 数据结构实现一个深度漂亮的打印机以帮助调试

  • goven - 轻松地将代码从另一个项目复制到您的项目中

  • gowatcher - 通过监视目录自动重新加载指定的 go 程序。

  • GoWatch - GoWatch 监视您的 dev 文件夹中是否有修改过的文件,如果文件发生更改,它会重新启动该过程。

  • goweb - Donald Knuth 和 Silvio Levy 基于 CWEB 的 Go文学编程工具。

  • goyaccfmt - 自动重新格式化 Goyacc 源文件。

  • hopwatch - Go 的简单调试器

  • hsandbox - 用于快速实验 Go 代码片段的工具

  • Inject - Golang 中的依赖注入库(来自 Facebook)

  • liccor - 用于更新 Go 源文件中的许可证标头的工具

  • liteide - Go 自动构建工具和基于 qt 的 Go ide

  • Livedev - Livedev 是一个开发代理服务器,支持实时代码重新加载。

  • Martian - 设计用于 E2E 测试的 HTTP 代理。

  • nvm-windows - 适用于 Windows 的 Node.js 版本管理器

  • Prettybenchcmp - 在本地存储和比较基准历史记录。

  • rerun - 重新运行监视您的二进制文件及其所有依赖项,以便在源更改时重建和重新启动。

  • sling - 网络流量模拟器和测试自动化工具,通过 HTTP 或 TCP 协议发送文件请求,控制速率频率、并发连接数、延迟、超时,并收集响应时间统计信息、平均值和百分位数。

  • syntaxhighlighter - 与语言无关的代码语法高亮库

  • 切换- 一个功能切换库,内置支持环境变量支持的切换。可插拔的后备引擎支持。

  • trace - 一个简单的调试跟踪

Emacs 标签

  • egotags - ETags 生成器

  • tago1 - 使用 go 1 构建的用于 go 的 etags 生成器

  • tago - 用于 Go 源代码的 Emacs 标签生成器

分布式/网格计算

  • celeriac - 在 Go 中添加对交互和监控 Celery 工人、任务和事件的支持的库

  • donut - 在 Go 中构建集群服务的库

  • libchan - 网络上类似 Go 的频道

  • locker - 建立在etcd之上的分布式锁服务。

  • dlock - 使用gRPC的本机 Go 分布式锁管理器(客户端和服务器)。

  • mangos - 基于nanomsg的可扩展协议的实现

  • redsync - 基于 Redis 的分布式互斥锁实现

  • Skynet - Skynet 是为高度可扩展的 API 类型服务提供而设计的分布式进程网格。

  • Tideland golib - 包括一个 map/reduce 库

文档

  • examplegen - 将.go文件中的代码插入文档(例如,项目自述文件的示例)。

  • godocdown - 将包文档 (godoc) 格式化为 GitHub 友好的 Markdown

  • GoDoc.org - GoDoc.org 从 Bitbucket、Github、Google Project Hosting 和 Launchpad 上的源代码动态生成文档。

  • golangdoc - Golang 的 Godoc,支持翻译。

  • Mango - 从 Go 源代码自动生成 unix 手册页

  • redoc - Redis 命令文档

  • sphinxcontrib-golangdomain - Go 的 Sphinx 域

  • test2doc - 从您的单元测试中为您的 go 单元生成文档。

编辑

  • A - 基于 Acme 的图形文本和二进制编辑器

  • 概念- 概念是一个实验研究项目,旨在成为一个现代 IDE/语言包。 演示视频

  • de - 具有 Acme 和 vi 功能的模态图形编辑器

  • Gide - 内置在GoGi GUI中的 Go IDE

  • Go-bbpackage - 用于 Go 开发的 BBEdit 包

  • goclipse - 基于 Eclipse 的 Go IDE。

  • Go conTEXT - 荧光笔插件

  • godev - 基于 Web 的 Go 语言 IDE

  • Godit - 用 Go 编写的类似 microemacs 的文本编辑器。

  • gofinder - (代码)acme 搜索工具

  • go-gedit - 用于 gedit 的 Google Go 语言插件

  • golab - Go 本地应用程序构建器 - 基于 Web 的 Go ide

  • Google Go for Idea - Intellij IDEA 的 Google Go 语言插件

  • micro - 现代且直观的基于终端的文本编辑器。

  • 虎斑- 源代码编辑器

  • T - Acme/Sam 之类的文本编辑器

  • ViGo - 类似 vim 的文本编辑器。

  • Wide - 使用 Golang 的团队的基于 Web 的 IDE。

电子邮件

  • chasquid - 用 Go 编写的 SMTP 服务器。

  • gmail - 用于从 Gmail 帐户发送电子邮件的简单库,适用于对处理协议细节不感兴趣的人。

  • Gomail - 一个简单有效的电子邮件发送包。

  • go-mail - 电子邮件实用程序,包括 RFC822 消息和 Google Mail 默认值。

  • go-ses - 亚马逊 AWS 简单电子邮件服务 (SES) API 客户端

  • go-simple-mail - “用于发送电子邮件的 Golang 包。支持保持活动连接、TLS 和 SSL。易于批量 SMTP。”

  • Hectane - 轻量级 SMTP 客户端,包括由磁盘存储支持的内置邮件队列。

  • Inbucket - Inbucket 是一种电子邮件测试服务;它将接受任何电子邮件地址的消息,并使其可通过网络界面查看。

  • mail.go - 解析电子邮件

  • MailHog - 受 MailCatcher 启发的电子邮件测试服务。

  • MailSlurper - 一个方便的 SMTP 邮件服务器,可用于本地和团队应用程序开发。将邮件吞没!

错误处理

code.soquee.net/problem

编码和字符集

  • base58 - 人类输入友好的 base58 编码

  • bencode-go - 编码和解码 BitTorrent 对等文件共享协议使用的 bencode 格式

  • bsonrpc - 用于 net/rpc 的 BSON 编解码器

  • chardet - 从 ICU 移植的字符集检测库

  • Charmap - Go 中的字符编码

  • codec-msgpack-binc高性能和功能丰富的惯用Go 库,为多种二进制序列化格式提供编码/解码支持:msgpack

  • colfer - 高性能二进制编解码器

  • gobson - BSON(反)序列化器

  • go-charset - 字符集之间的转换。本地围棋。

  • go.enmime - Go 的 MIME 电子邮件解析器库(本机)

  • go-msgpack - Go 的综合 MsgPack 库,具有打包/解包和 net/rpc 编解码器支持(已弃用,支持编解码器)

  • gopack - Go 的位打包

  • go-simplejson - 与任意 JSON 交互的 Go 包

  • go-wire - 用于结构等的二进制和 JSON 编解码器

  • go-xdr - 外部数据表示 (XDR) 标准协议的数据表示部分的纯 Go 实现,如 RFC 4506(过时的 RFC 1832 和 RFC 1014)。

  • iconv-go - 带有 Reader 和 Writer 的 iconv 包装器

  • magicmime -- 带有用于 libmagic 的 Go 绑定的 Mime 类型检测

  • Mahonia - Go 中的字符集转换库

  • mimemagic - 根据文件内容自动检测 mime 类型,无需外部依赖

  • mimemagic - 基于 FreeDesktop.org 规范的纯 MIME 嗅探库/工具

  • msgpack - Go 的 Msgpack 格式实现

  • msgpack-json - 在 msgpack 和 json 之间转换的命令行实用程序

  • nnz - 序列化为 JSON 和 SQL null 的 String 和 Int 原语

  • 可存储- 写入 perl 可存储数据

  • TNetstring - tnetstrings(标记的 Netstrings)

文件系统

  • afero - Go 的文件系统抽象系统

  • go.fs - 虚拟文件系统抽象层。

  • poller - 包轮询器是一个文件描述符多路复用器。它允许对多个文件描述符进行并发读取和写入操作。

  • vfsgen - 生成静态实现给定虚拟文件系统的 vfsdata.go 文件。

游戏

  • Bampf - 基于 Vu 3D 引擎的街机风格游戏。

  • bloxorz - bloxorz 基本级别的求解器

  • ChessBuddy - 与 Go、HTML5、WebSockets 和随机陌生人下棋!

  • Fergulator - 一个 NES 模拟器,使用 SDL 和 OpenGL

  • FlappyBird - 一个用 golang 编写的简单的飞扬的鸟克隆。

  • Godoku - Go Sudoku Solver - “通过交流分享”的例子

  • Gorgo - 用围棋编写的下围棋程序

  • gospeccy - ZX Spectrum 48k 模拟器

  • Ludo Game - 由 Go on Appengine 提供支持的 Ludo 棋盘游戏

  • Pinkman - 基于命令行的国际象棋接口到 UCI 兼容的国际象棋引擎

  • Pong - 用 golang 编写的简单 Pong 克隆

  • pong-command - 笑话命令,类似乒乓。

  • Steven - Go 中的 Minecraft 客户端

  • ukodus - Go 中的数独求解器

  • WolfenGo - Go 中的 Wolfenstein3D 克隆,使用 OpenGL 2.1

  • GoChess - 在终端上与朋友下棋

地理信息系统

orb

Go 实现

  • llgo - 基于 LLVM 的 Go 编译器,用 Go 编写

图形和音频

image.NRGBAcolor.NRGBA

GUI 和小部件工具包

  • fyne - 基于 Material Design 的跨平台原生 GUI 工具包

  • gio - 便携式(iOS/tvOS、Android、Linux(Wayland/X11)、macOS、Windows、FreeBSD、OpenBSD、WASM)即时模式 GUI

  • go-fltk - Go 的 FLTK2 GUI 工具包绑定

  • GoGi - 完全原生的跨平台 GUI 工具包

  • go-gtk - GTK 的绑定

  • go-qt5 - 用于 Go 的 QT5 绑定

  • gothic - Tcl/Tk Go 绑定

  • gotk3 - GTK3 的Go 绑定,需要 GTK 3.8 版

  • go.uik - Go 的 UI 套件,在 Go 中。(项目已关闭)

  • go- webkit2 - WebKitGTK+ v2 API 的 Go 绑定(带无头浏览器和 JavaScript 支持)

  • Gowut - Gowut(Go Web UI 工具包)是一个功能齐全、易于使用、平台无关的 Web UI 工具包,用纯 Go 编写,没有链接或调用任何平台相关的本机代码。

  • GXUI - Go 跨平台 UI 库。

  • iup - IUP 的绑定

  • lorca - 一个用于在 Go 中构建跨平台 HTML5 GUI 应用程序的小型库,使用 Chrome/Chromium 作为 UI 层。

  • mdtwm - X 平铺窗口管理器

  • qml - 对 Go 语言的 QML 支持

  • ui - Go 的平台原生 GUI 库

  • webview - 微小的跨平台 Web UI 库。使用 WebKit (Gtk/Cocoa) 和 MSHTML (Windows)

  • wingo - 用 Go 编写的功能齐全的窗口管理器。

  • Winhello - Windows GUI hello world 应用程序示例

  • wxGo - wxWidgets GUI 的 Go 包装器

  • xgb - x-go-binding 的一个分支,支持线程安全和所有 X 扩展。

  • xgbutil - 一个实用程序库,可以更轻松地使用 X Go 绑定。(实现 EWMH 和 ICCCM 规范、键绑定支持等)

  • x-go-binding - X 窗口系统的绑定

硬件

  • gobot - 用于机器人、无人机和物联网 (IoT) 的 Golang 框架。

  • go.hid - 提供与 USB 人机接口设备的通信。

  • gortlsdr - 一个 librtlsdr 包装器,可将某些 USB DVB-T 加密狗转换为低成本、通用的软件定义无线电接收器。

  • hwio - SoC 板的硬件 I/O 库,包括 BeagleBone Black 和 Raspberry Pi。

  • stressdisk -压力测试你的硬盘/存储卡/ USB相信你的宝贵数据恢复到之前棒

语言与语言学

  • alpinocorpus-go - Alpino 语料库的读者和作者。

  • go-aspell - Go 的 GNU Aspell 拼写检查库绑定。

  • go-edlib - 与 Unicode 兼容的 Go 字符串比较和编辑距离算法库(Levenshtein、LCS、Hamming、Damerau levenshtein、Jaro-Winkler 等)。

  • go-l10n - 人类本地化

  • go-language - 使用字母频率数据的简单语言检测器。

  • goling - 字符串相似度(余弦相似度,Levenshtein 距离),拼写检查,分割

  • go-ngram - n-gram 是来自给定文本或语音序列的 n 个项目的连续序列。

  • go.stringmetrics - 在 Go 中实现的字符串距离度量

  • go-tokenizer - Golang 的文本分词器库

  • inflect - Word 屈折库(类似于 Ruby ActiveSupport::Inflector)。Singularize()、Pluralize()、Underscore() 等。

  • libtextcat - libtextcat的 Go 包装器。

  • nlp - 支持 LSA(潜在语义分析)的 Go 自然语言处理库。

  • sego - 中文分割器。

  • 雪球- 适用于多种语言的雪球词干分析器

  • textcat - 基于 N-gram 的文本分类,支持 utf-8 和原始文本

记录和监控

  • colog - CoLog 是 Go 的基于前缀的分级执行日志

  • cue - 快速灵活的上下文记录器。支持输出到文件、系统日志、结构化系统日志、stdout/stderr、socket、Loggly、Honeybadger、Opbeat、Rollbar 和 Sentry。

  • epazote - 自动化微服务主管。

  • factorlog - 真正快速、功能强大的日志记录基础架构(支持颜色、详细程度和多种格式)

  • glog - Go 的分级执行日志

  • go-logging - 支持不同的日志记录后端,如系统日志、文件和内存。可以使用多个后端,每个后端和记录器的日志级别不同。

  • gomol - 一个多输出日志库,设计用于支持带有日志消息的附加元数据的输出。

  • gosrvmon - 自托管的正常运行时间监控系统。

  • graylog-golang - graylog-golang 是一个完整的实现,用于将 GELF(Graylog 扩展日志格式)中的消息从 Google Go(Golang)发送到 Graylog

  • haminer - 用于解析和转发 HAProxy 日志的库和程序

  • immortal - *nix 跨平台(与操作系统无关)主管

  • jWalterWeatherman - 与 fmt.Println 一样易于使用的无缝终端打印和文件记录

  • kemba - 受debug启发的小型调试日志记录工具,非常适合 CLI 工具和应用程序。

  • log4go - 类似于 log4j 的日志包

  • logger - 使用缓冲输出和多个编写器进行日志记录

  • logrus - Go 的结构化、可插入日志记录,带有第三方记录器的内置钩子:Airbrake、Papertrail、Loggly、Sentry ...

  • MailJet Live Event Dashboard - API 实时监控。

  • Monkit - 用于 Go 的灵活流程数据收集、度量、监控、检测和跟踪库

  • Prometheus - 监控系统和时间序列数据库。

  • rfw - 旋转文件编写器- 用于记录器的“logrotate”感知文件输出

  • sd - 写入 systemd 日志,支持用户定义的 systemd 日志字段

  • seelog - 灵活的调度、过滤和格式化

  • snap - 遥测框架

  • spacelog - Go 的分层、分级和结构化日志库

  • statsgod - 在 Go 中重写 StatsD。

  • syslog - 使用此软件包,您可以使用自己的处理程序为不同类型的 syslog 消息创建自己的 syslog 服务器

  • Tideland golib - 灵活的日志记录

  • 木材- Go 的可配置记录器

  • ul - 通过 cgo 提供 macOS Sierra/OSX 统一日志记录功能

  • vlog - Go 的标准日志上的级别日志

机器学习

  • Anna - 人工神经网络 Aspiration,旨在成为自我学习和自我改进的软件。

  • bayesian - 朴素贝叶斯分类器。

  • ctw - 上下文树加权和 Rissanen-Langdon 算术编码

  • Dialex - Dialex 是一种智能管道,可以解读文本并使其机器可读。

  • evo - 在 Go 中实现进化算法的框架。

  • go-algs/maxflow Maxflow(图形切割)能量最小化库。

  • go-galib - 遗传算法。

  • golinear - 线性 SVM 和逻辑回归。

  • go-mind - 在 Go 中构建的神经网络库

  • go_ml - 线性回归、逻辑回归、神经网络、协同过滤、高斯多元分布。

  • gott - Go 的神经网络。

  • go-porterstemmer - Porter Stemming 算法的高效原生 Go 洁净室实现。

  • go-pr - 高斯分类器。

  • gorgonia - 神经网络基元库(如 Theano 或 Tensorflow,但适用于 Go)

  • mlwebservicego - 使用 Golang、Echo 和 Firebase 为机器学习模型提供服务。

  • ntm -神经图灵机实现

  • paicehusk - 执行 Paice/Husk Stemmer

  • tfgo - Tensorflow + Go,gopher 方式。

数学

  • bayesian - Go 的朴素贝叶斯分类

  • blas - BLAS(基本线性代数子程序)的 Go 实现

  • cartconvert - Go 编程语言的制图函数

  • 选择-从N 个项目中生成M个的所有组合

  • clp - COIN-OR 线性规划(CLP)库的 Go 绑定

  • Cvx - 凸优化包,CVXOPT python 包的端口

  • 十进制- 高性能任意精度十进制浮点运算包

  • 骰子- 骰子滚动库

  • evaler - 一个简单的浮点算术表达式求值器

  • fixed - 一个定点(Q32.32 格式)数学库

  • geom - 二维几何

  • gini - SAT 求解器/布尔逻辑工具

  • gochipmunk - 绑定到 Chipmunk 物理库

  • gocomplex - 一个复数库

  • godec - 多精度十进制算术

  • gofd - 并发有限域约束求解器。

  • go- fftw - FFTW 的 Go 绑定 - 西方最快的傅立叶变换

  • go-fn - 不适合“数学”包的特殊函数

  • gographviz - 用于 Go 的 Graphviz DOT 语言解析器

  • go-gt - 图论算法

  • go-humanize - 为人类格式化数字。

  • golibs/xmath - 数学函数的集合(主要是算法)

  • go-lm - Go 中的线性模型。通过 cgo -> BLAS/LAPACK 接口提供 WLS 和带有 t 残差的回归。

  • go.mahalanobis - 使用 go.matrix 对马哈拉诺比斯距离的简单实现

  • gomat - 轻量级 FAST 矩阵和向量数学

  • go_matrix_cuda - 基于 CUDA 的 GPU 加速线性代数库

  • go.matrix - 线性代数包

  • gonum - 科学包(线性代数、BLAS、LAPACK、微分、绘图、线性规划、统计等)

  • go-symexpr - 符号数学作为具有导数、简化和非线性回归的 AST

  • gsl - GNU 科学图书馆绑定

  • 人性化- 将大数字格式化为人类可读的小数字

  • 间隔- 包间隔处理位于两个(可能是无限的)边界之间的有序值集。

  • mathutil - 包 mathutil 提供了补充标准 'math' 和 'rand' 包的实用程序。

  • mt19937_64 - Mersenne Twister int64 随机源

  • 排列- 包排列生成切片索引的排列

  • polyclip.go - 二维多边形布尔运算算法的实现

  • primegen.go - 阿特金素数生成器的筛选

  • prime - 分段筛和非分段筛的 Go 版本以生成素数

  • 素数- 处理素数的简单功能。

  • pso-go - Go 的 PSO(粒子群优化)库。

  • rand - 具有梅森扭曲器支持的 math/rand 包的 64 位版本。

  • roger - RServer 的 Go 客户端,允许您从 Go 调用 R 程序。

  • sparse - 用于线性代数的稀疏矩阵格式,支持科学和机器学习应用程序,与gonum矩阵库兼容。

  • 统计- GNU GSL 统计 (GPLv3)

  • stats - Golang 标准库中缺少常用函数的统计包。

  • Tideland golib - 用于统计分析的数值包

  • 单位- 为一些常见的物理类型实现类型、单位、转换器函数和一些数学。库

  • vector - 一个小的矢量库。

微服务

  • car_registration - 全球汽车注册数据的 API 包装器

  • go-doudou - 基于八卦协议和 OpenAPI 3.0 规范的去中心化微服务框架。内置 go-doudou cli 专注于低代码和快速开发可以提高您的生产力。

  • gokit - Go Kit 微服务框架(和作者访谈)。

  • go-micro - Go Micro 是一个微服务库,它提供了用于大规模编写容错分布式系统的基本构建块。

  • kite - RPC 服务器和客户端框架。

各种各样的

.env

音乐

  • gmask - 为 Csound 改编 Cmask 实用程序

  • go-csnd6 - 绑定到 Csound6 API

  • go-csperfthread - 绑定到 Csound6 API 的 CsoundPerformanceThread 辅助类

  • go-libshout - 绑定 libshout

  • gompd - MPD(音乐播放器守护程序)的客户端界面

  • launchpad - Novation Launchpad 的 Go 客户端

  • portmidi - 绑定 libportmidi

联网

域名系统

  • bitz - BitMessage 客户端节点和库

  • dingo - Go 中的 DNS 客户端,通过 HTTPS 支持 Google DNS

  • dns - Go 中的客户端和服务器实现

  • dns - Go 中的 DNS 库

  • dnsimple - DNSimple API 的接口

  • dnss - DNS 安全代理,支持 DNS over HTTPS 和 GRPC

  • domainerator - 将单词列表和后缀 / TLD 组合到域名中并检查它们是否已注册的命令行工具。

  • dyndnscd - 一个可配置的 dyndns 客户端

  • GeoDNS - 地理感知权威 DNS 服务器

  • grong - 小型权威 DNS 名称服务器

  • hostsfile - /etc/hostsfile 反向查找 IP => 名称

  • lib/dns - 客户端或服务器的 DNS 库,支持 UDP、TCP 和 DNS over HTTPS

  • mdns - Go 的多播 DNS 库

  • rescached - DNS 解析器缓存守护进程

FTP

  • ftp4go - Go 的 FTP 客户端,作为标准 Python FTP 客户端库的端口启动

  • ftp - 包 ftp 提供了 RFC 959 中定义的最小 FTP 客户端

  • ftps - FTPS 协议的实现

  • goftp - FTP 客户端库

HTTP

  • apiproxy - 具有可配置缓存超时的 HTTP/REST API 代理

  • 繁荣- HTTP(s)基准测试工具,Apache Benchmark替代品

  • Ddosify - 用 Golang 编写的高性能负载测试工具

  • eventsource - 服务器发送的 net/http 服务器事件。

  • fasthttp - Go 的快速 HTTP 包

  • gbench - 受 Apache Benchmark 和 Siege 启发的 HTTP(s) 负载测试和基准测试工具。

  • gobench - HTTP/HTTPS 负载测试和基准测试工具

  • go-curl - 支持 go func 回调的 libcurl 绑定

  • goproxy - 一个可编程的 HTTP 代理。

  • gostax - 用于 XML (StAX) 的流 API

  • handlers - 有用的 HTTP 中间件的集合。

  • HTTPLab - HTTPLabs 可让您检查 HTTP 请求并伪造响应。

  • httpmock - 轻松模拟来自外部资源的 HTTP 响应

  • httptail - 工具将 stdout/stderr 推送到 http 分块

  • sling - 用于创建和发送 API 请求的 Go HTTP 客户端库。

  • 压力- 替换 ApacheBench(ab),支持事务请求,支持命令行和包引用到 HTTP 压力测试工具。

IMAP

  • go-imap - 客户端和服务器的 IMAP 库。

  • go-imap - IMAP 客户端库

  • go-imap - IMAP4rev1 客户端的实现,如 RFC 3501 中所述

即时通讯

mellium.im/xmpp

NNTP

  • go-nntp - 用于 go 的 NNTP 客户端和服务器库

协议缓冲区

  • gogoprotobuf - Protocol Buffers 的另一个 Go 实现,但带有扩展和代码生成插件。

  • golang_protobuf_extensions - 支持流消息编码和解码的协议缓冲区扩展。

  • goprotobuf - Google 协议缓冲区的 Go 实现

  • protorpc - 用于 Go 和 C++ 的 Google Protocol Buffers RPC

同步

  • replican-sync - Go 中的 rsync 算法实现

  • Rsync - Rsync 算法作为 Go 库

远程登录

  • telnet - 包 telnet 为 Go 编程语言提供 TELNET 和 TELNETS 客户端和服务器实现,其风格类似于“net/http”库(这是 Go 标准库的一部分),包括对“中间件”的支持;TELNETS 是安全的 TELNET,具有基于安全 TLS(或 SSL)连接的 TELNET 协议。

  • telnet - 与 Telnet 连接交互的简单界面

  • telnets - TELNETS(安全 TELNET)协议的客户端。

虚拟网络

  • glibvnc - 使用 CGO 为 libvnc 库进行包装。

网络套接字

  • Gorilla WebSocket - WebSocket 协议实现

  • lib/websocket - 用于编写 websocket 客户端和服务器的库(使用 epoll)

  • websocketd - 将 STDIN/STDOUT 程序转换为 WebSockets 服务的 HTTP 服务器。还处理 HTML 和 CGI。

  • ws-cli - WebSocket 命令行客户端

  • wst - 一个简单的 WebSocket 测试器

零MQ

  • goczmq - CZMQv3 接口的包装器 -博客文章

  • gozmq - 0mq (zeromq/zmq) 的绑定

  • zmq2 - ZeroMQ (zmq, 0MQ) 版本 2 的 Go 接口。

  • zmq3 - ZeroMQ (zmq, 0MQ) 版本 3 的 Go 接口。

  • zmq4 - ZeroMQ (zmq, 0MQ) 版本 4 的 Go 接口。

杂项网络

  • betwixt - Betwixt 实现了用于设备管理和监控的 OMA 轻量级 M2M(LWM2M)协议

  • canopus - CoAP 客户端/服务器实现 (RFC 7252)

  • chunkedreader - 一个轻量级的库,用于从 TCP 流中读取连续的固定大小的消息。

  • circle - 转到libcircle分布式队列 API 的接口

  • createdend-go - Monitor http://www.campaignmonitor.com(电子邮件活动服务)的API 客户端

  • cwmp-proxy - 反向 cwmp 代理

  • dmrgo - 带有 Hadoop 流映射/减少的库

  • doozerconfig - 在 Doozer 中管理 json 编码配置的 Go 包

  • doozerd - 一致的分布式数据存储

  • Go 服务器的无休止零停机重启(替代 http.ListenAndServe/TLS)

  • gearman-go - 带有 Go 的 Gearman API 的本机实现。

  • Glue - 强大的 Go 和 Javascript Socket 库(替代 Socket.io)

  • goagain - Go 中的零停机重启

  • Go Ajax - Go Ajax 是一个 JSON-RPC 实现,旨在创建 AJAX 驱动的网站。

  • gobeanstalk - Go Beanstalkd 客户端库

  • go-camo - 转到 http 图像代理(迷彩克隆)以通过 SSL 路由图像

  • go-dbus - 连接到 D-bus 消息传递系统的库

  • go-diameter - 直径堆栈和基本协议 (RFC 6733)

  • go-flowrate - 数据传输速率控制(监控和限制)

  • gogammu - 发送和接收短信的库

  • go-icap - ICAP(互联网内容适配协议)服务器库

  • Gollum - 一个 n:m 多路复用器,它收集来自不同来源的消息并将它们广播到一组目的地。

  • go-nat-pmp - Apple 和开源路由器中使用的 NAT-PMP 协议的客户端

  • gottbench - 简单的 TCP 基准测试工具

  • gottcheck - 检查一般互联网访问的包

  • goodhosts - Go 中的简单主机文件 (/etc/hosts) 管理

  • gopacket - 数据包编码/解码、pcap/pfring/afpacket 支持、TCP 组装等!

  • gopcap - 一个围绕 libpcap 的简单包装器

  • goq - 用 Go 编写的持久消息队列。

  • goradius - 用 Go 编写的 Radius 客户端

  • go-rpcgen - 用于 net/rpc 和 AppEngine 的 ProtoBuf RPC 绑定生成器

  • gorpc - 针对高负载优化的 RPC

  • GoRTP - Go 的 RTP / RTCP 堆栈实现

  • GoSIPs - Go 中的 SIP(会话发起协议)堆栈

  • go-smpp - SMPP 3.4 协议实现

  • gosndfile - 绑定 libsndfile

  • gosnmp - 用 GoLang 编写的 SNMP 库。

  • go-socket.io - 用 Go 编写的 Socket.IO 后端实现

  • gosocks - Go 中的 SOCKS(SOCKS4、SOCKS4A 和 SOCKS5)代理客户端库。

  • go-sslterminator - SSL 终止代理

  • go-statsd-client - 去 statsd 客户端库

  • Grumble - Mumble (VoIP) 服务器实现

  • handlersocket-go - 连接到 InnoDB 表的 HandlerSocket 接口的本地库

  • HomeControl - Apple 的 HomeKit 附件协议 (HAP) 的实现

  • Hprose - Hprose 是一个高性能远程对象服务引擎。

  • httpfstream - 流式附加和跟踪 HTTP 资源(使用 WebSockets)

  • humanize-bytes - 将“MiB”等转换为原始数字并返回的命令行实用程序

  • ipaddress - 方便的ip地址功能:ip -> int,int -> ip,以及IPNet广播地址

  • iris-go - Iris 去中心化消息传递框架的 Go 绑定。

  • iris - 用于后端去中心化的点对点消息传递。

  • kafka.go - Kafka 消息系统的生产者和消费者

  • lcvpn - 去中心化 VPN 实施

  • ldap - GO 编程语言的基本 LDAP v3 功能。

  • mbxchan - 使用标准 Go 通道和远程过程调用的分布式 Go 应用程序之间的轻松通信。

  • mqtt - Go 中的 MQTT 堆栈

  • nagiosplugin - 用于编写 Nagios/监控插件的包

  • NATS - 用于 Go 的 NATS 分布式消息传递系统客户端

  • netsnail - 低带宽模拟器

  • netstat-nat - 在 Linux 系统上显示 NAT 条目

  • netutils - 用于将 TCP 套接字转换为通道的简单接口。

  • norm - 使用多播和单播套接字的可靠 UDP

  • npipe - Windows 命名管道的纯 Go 包装器

  • opendap - Openldap 的包装器

  • pusher-http-go - 用于与 Pusher Realtime API 交互的 Go 库

  • QRP - QRP 是一个简单的基于数据包的 RPC 协议,旨在作为 Go 的 rpc 的简单替代品,可以在 UDP 上运行

  • remotize - 一个 remotize 包和命令,可帮助 remotizing 方法,而无需更改它们的 rpc 签名

  • Resgate - 用于 NATS 的实时 + REST API 网关,可使用实时数据创建 Web API

  • rs232 - 我们这些仍然拥有调制解调器(或 arduinos)的人的串行接口

  • rss - RSS 解析库。

  • 无缝- 使用 HTTP 管理 API 反向 TCP 代理

  • sftp -draft-ietf-secsh-filexfer-02.txt 中定义的 SSH 文件传输协议 v3。

  • shell2http - 通过简单的 http 服务器执行 shell 命令

  • sockjs-go - 为 SockJS 客户端浏览器库实现服务器端对应物。

  • SOCKS5 服务器- 具有访问控制列表的可扩展 SOCKS5 服务器

  • spark - 紧急网络服务器(用于静态文件)

  • spdy - SPDY 库,连接到 net/http,目前仅支持服务器。

  • statsd-go - Go 中的 Statsd 实现,从 gographite 分叉,提交给 Ganglia

  • stompngo_examples - stompngo 的示例。

  • stompngo - 符合 Stomp 1.1 的客户端

  • tcp_fallback - 实现简单回退机制的 TCP 代理。

  • tcpmeter - TCP 吞吐量测量工具

  • toxiproxy - 模拟网络条件的框架。

  • traceroute - 跟踪路由实现

  • traefik - Go 中的现代反向代理

  • Uniqush - 一个免费的开源软件,它为移动设备上的应用程序提供统一的服务器端通知推送服务。

  • uritemplates - URI 模板的第 4 级实现(RFC 6570)

  • VDED - Vector Delta Engine Daemon - 跟踪不断增加的值的增量(用 Go 编写)

  • zero-downtime-daemon - 可配置的零停机守护程序(热更新)框架,适用于任何类型的 TCP、HTTP、FCGI 服务

  • zeroupgrade - 以零停机时间升级网络服务器

操作系统接口

  • Go FUSE 文件系统库- 基于 Russ Cox' 的内核用户空间通信协议的从头实现。

  • Go-fuse - 在 Go 中编写 FUSE 文件系统的库

  • go-nbd - 在 Go 中为 Linux 编写块设备的库。

  • go-osx-xattr - 包 xattr 包装 OS X 函数来操作文件、目录和符号链接的扩展属性。

  • 检查/操作系统- 用于操作系统测量的指标库(Linux/MacOSX)

  • service - 服务将在 Windows/Linux 和 OSX 上安装/卸载、启动/停止和将程序作为服务(守护进程)运行。

其他随机玩具、实验和示例代码

  • goconc - Go 的有用并发习语和函数的集合,已编译

  • go-crazy - go的实验性源到源编译器

  • go-gtk-demo - 如何在 Go 中使用 GTK+的演示。

  • go-hashmap - 作为 Go 性能实验的纯 Go 哈希表

  • golang-examples - 一堆 golang 示例

  • GolangSortingVisualization - Go 中各种排序算法的可视化

  • golibs - 一个小型 go 包的集合(也是各种 CI 和覆盖服务的测试仓库)

  • goplay - Go 中的一堆随机小程序

  • lifegame-on-golang - 围棋生活游戏

  • 线性- 玩弄线性代数

  • pl0 - PL/0 前端、编译器和 VM。.

  • go中的项目 euler - Go 中的项目 Euler 的解决方案

  • shadergo - 使用 Go 进行着色器测试

  • travisci-golang-example - Go 的 Travis-CI 示例

P2P 和文件共享

  • DHT - 台北种子使用的 Kademlia DHT 节点,与 BitTorrent 兼容

  • DHT - BitTorrent DHT 协议和 DHT 蜘蛛。

  • ed2kcrawler - eDonkey2000 链接爬虫

  • gop2p - 一个简单的 p2p 应用程序来学习围棋

  • go-p2p - 用于区块链等的 P2P 模块

  • GoTella - Gnutella 协议的 Go 实现

  • Rain - BitTorrent 客户端和库

  • 台北种子- BitTorrent 客户端

  • Tendermint - P2P 拜占庭容错共识和区块链堆栈

  • wgo - 部分基于Taipei-Torrent 和gobit 代码的简单BitTorrent 客户端

编程

  • go-clang - cgo 绑定到 libclang 的 C-API

  • godeferred - jsdeferred 的端口:http ://cho45.stfuawsc.com/jsdeferred/

  • go-galib - 遗传算法库

  • go-intset - 一个用于处理有界整数集的库,包括多个替代实现

  • go-parse - 一个类似 Parsec 的解析库

  • go-slices - 用于在 Go 中操作切片的辅助函数,就像官方的“strings”包提供的那样

  • sh - 一个 shell/bash 解析器和格式化程序

  • Shuffle - 在 Go 中实现 Fisher Yates shuffle(或 Knuth shuffle)。

资源嵌入

  • fileb0x - 将文件嵌入到 go 中的简单工具,专注于“定制”和易用性。

  • go-bindata - 将任何文件转换为可管理的 Go 源代码的包。

  • go-resources - 嵌入 Go 的非花哨资源。

  • go.rice - go.rice 是一个 Go 包,它使处理 html、js、css、图像和模板等资源变得非常容易。

  • 植入- 植入允许从一系列目录(递归)嵌入静态资源。

  • statics - 将静态资源嵌入到 go 文件中以进行单个二进制编译 + 与 http.FileSystem + 符号链接一起使用。

RPC

  • gowsdl - WSDL 代码生成

  • gRPC - 支持 Go 的 Google 多语言 RPC 框架

扫描器和解析器生成器

  • ebnf2y - 用于将 EBNF 语法转换为 yacc 兼容的骨架 .y 文件的实用程序。

  • flexgo - 可以生成 Go 代码的 flex 版本。

  • fsm - FSM(NFA,DFA)实用程序。

  • gocc - Go 编译器编译器

  • golex - Lex/flex 类快速(DFA)扫描仪生成器。

  • gopp - 去解析器解析器

  • goyacc -Goyacc 是生成 Go 解析器的 yacc 版本。

  • lexmachine - Golang词法分析框架

  • Ragel - 状态机编译器

  • y - 包 y 将 .y (yacc) 源文件转换为适合解析器生成器的数据。

  • yy - yacc 到 yacc 编译器。

安全

  • acme - ACME 证书获取工具

  • acra - SQL 数据库保护套件:强选择性加密、SQL 注入预防、入侵检测系统

  • casbin - 支持 MAC、RBAC、ABAC 等访问控制模型的授权库

  • docker-slim - 容器安全和优化

  • gryffin - 雅虎的大型安全扫描仪!

  • hyperfox - 用于代理和记录 LAN 上 HTTP 和 HTTPs 通信的安全工具

  • lego - 让我们加密客户端和 ACME 库

  • webseclab - Web 安全测试用例的示例集和构建新测试用例的工具包

仿真建模

  • Godes - 用于构建离散事件模拟模型的库

排序

  • 冒泡排序-冒泡排序算法的最小实现

  • 鸡尾酒调酒器排序-鸡尾酒调酒器排序算法的最小实现

  • funnelsort - 懒惰漏斗排序 - 一种缓存遗忘的排序算法

  • Sortutil - Go 的嵌套、不区分大小写和反向排序。

  • sortutil - Go 标准“sort”包的补充工具

  • tarjan - 基于 Tarjan 算法的图循环检测功能

  • timsort - 快速、稳定的排序,使用外部比较器或 sort.Interface

源代码管理

go getgo list all

贮存

  • libStorage - 一个开源的、平台无关的、存储配置和编排框架、模型和 API

  • Minio - 与 Amazon S3 API 兼容的对象存储

  • OpenEBS - 用于容器的容器化、开源块存储,紧密集成到 K8S 和其他环境中,并基于分布式块存储和存储控制容器化

  • storage - Golang 面向应用的统一存储层

字符串和文本

  • allot - CLI 工具和机器人的占位符和通配符文本解析

  • asciidoctor-go - 用于解析和转换 asciidoc 标记语言的本地 Go 模块。

  • awk - Go 中简单的 AWK 风格的文本处理

  • binarydist - 二进制差异和补丁

  • 黑色星期五- 降价处理器

  • 代号生成器- 用于命名软件版本的代号生成器

  • columnize - 将切片或数组格式化为对齐的列

  • csvplus -使用流畅的界面、惰性流操作、索引和连接扩展标准 Go编码 / csv包。

  • csvutil - 一个重型 CSV 读写库。

  • dgohash - 字符串散列函数的集合,包括 Murmur3 等

  • 柔雅系列-一个简单的CSS解析器和衬里在Go。

  • dsv - 用于处理定界分隔值 (DSV) 的库。

  • 通量- golang 中的流畅正则表达式

  • frontmatter - 用于检测和解码各种内容前端格式的 Go 库。

  • genex - 正则表达式的扩展

  • gettext-go - GNU 的 gettext 支持,用纯 Go 编写

  • gettext - gettext 的Golang 绑定;功能完成,cgo

  • goagrep - 使用预计算的快速模糊字符串匹配

  • go-colortext - 更改控制台中文本和背景的颜色,适用于 Windows 和其他系统。

  • go-guess - 为 libguess 封装

  • goini - 解析 INI 文件的 go 库

  • golorem - lorem ipsum 生成器

  • go-migemo - go 的 migemo 扩展(日语增量文本搜索)

  • Go-ngram用于 Go 的 N-gram 索引

  • goregen - 用于从正则表达式生成随机字符串的 Go 库。

  • goskirt - Go 的Upskirt markdown 库绑定

  • gosphinx - Sphinx 独立全文搜索引擎的 Go 客户端界面

  • govalidator - 字符串验证器和消毒器包

  • gpKMP - 使用 Knuth Morris Pratt 算法在 Go 中进行字符串匹配

  • 韩文-方便的工具来操作韩文字符

  • html2text - Golang HTML 到文本转换库

  • 实习生- 将字符串映射到符号以进行恒定时间比较

  • kasia.go - HTML 和其他文本文档的模板系统

  • kview - kasia.go 模板的简单包装器。它有助于模块化网站的内容

  • Liquid - Shopify Liquid 模板的完整实现

  • logparse - 最常见日志格式的解析器

  • NTemplate - 嵌套模板

  • parse - 使用反射来定义语法的 PEG 解析器

  • peg - 解析表达式语法分析器

  • 鸽子- 用于 Go 的解析表达式语法 (PEG) 解析器生成器

  • 复数- 无需大惊小怪的复数形式,用于格式化可数和连续范围的值。

  • polyglot - Go 的字符串翻译实用程序

  • Pretty.go - go 值的漂亮打印

  • raymond - Go 中完整的车把实现。

  • rubex - 一个简单的正则表达式库,支持 Ruby 的正则表达式语法。它比正则表达式快。

  • sanitize - 包 sanitize 提供了清理 html 和文本的功能。

  • 扫描器- 一种解析原始类型的文本扫描器,类似于 Java 的

  • segment - Norvig 递归分词算法的实现

  • sprig - Go 模板的模板函数。

  • strftime - strftime 实现

  • strit - 包 strit 引入了一种新类型的字符串迭代器,以及许多迭代器构造函数、包装器和组合器。

  • strogonoff - Go 速记

  • strutil - 用于计算字符串相似度和其他字符串实用函数的 Golang 指标。

  • strutil - 包 strutil 收集补充标准字符串包的 utils。

  • text - 文本段落换行和格式设置

  • Tideland golib - 用于统计分析的 Stringex 包

  • TySug - 关于键盘布局的替代建议。

  • useragent - 用户代理字符串解析器

  • xurls - 从文本中提取 url

测试

code.soquee.net/testloglog.Loggergo test

转译器

  • c4go - 将 C 代码转换为 Go 代码。

  • f4go - 将 Fortran 代码转换为 Go 代码。

验证

  • 验证器- Go Struct 和 Field 验证,包括 Cross Field、Cross Struct、Map、Slice 和 Array 潜水

  • 验证- 简单的独立结构/键值验证

感谢各位的阅读,以上就是“go语言能开发哪些程序”的内容了,经过本文的学习后,相信大家对go语言能开发哪些程序这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!