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)。

命令行选项解析器

  • argcfg - 使用反射从命令行参数填充结构中的字段

  • autoflags - 从配置结构填充 go 命令行应用程序标志

  • cobra - 现代 go CLI 交互的指挥官,支持命令和 POSIX/GNU 标志

  • cli - 用于实现命令行界面的 Go 库。

  • cmdline - 一个简单的解析器,支持短选项和长选项、默认值、参数和子命令。

  • command - 将子命令添加到您的 CLI,提供帮助和使用指南。

  • docopt.go - 用 Go 编程语言实现的 docopt。

  • flaq - 命令行选项解析库,符合 POSIX/GNU 标准,支持结构标记以及 Go 的标志方法。

  • getopt - Go 风格的全功能传统(BSD/POSIX getopt)选项解析

  • getopt - 另一个用于 Go 的 getopt 库。这个就像 Python 的一样。

  • gnuflag - GNU 兼容的标志解析;与flag基本兼容。

  • go-commander - 使用命令和子命令、参数检查和上下文使用帮助简化 Go 命令行界面的创建。从“go”工具代码分叉。

  • go-flags - go 的命令行选项解析器

  • go-getoptions - 受 Perl 的 GetOpt::Long 灵活性启发的 Go 选项解析器.

  • goopt - 用于解析命令行标志的 getopt 克隆

  • go-options - Go 的命令行解析库

  • mellium.im/cli 用于解析现代 CLI 应用程序的库,包括可能具有自己的标志和内置帮助系统的子命令。旨在使用最少的 API。

  • options - 自记录 CLI 选项解析器

  • opts.go - 轻量级 POSIX 和 GNU 风格的选项解析

  • pflag - Go 的标志包的直接替代品,实现了 POSIX/GNU 风格的 --flags。

  • subcommands - 一个并发的、经过单元测试的子命令库

  • uggo - 另一个选项解析器,提供类似 gnu 的选项解析。这个包装(嵌入)flagset。它还提供基本的管道检测(像 ls 这样的命令在通过管道传输时表现不同)。

  • writ - 具有全面测试覆盖率的灵活选项解析器。它的意思是“只是工作”并且不碍事。

命令行工具

  • amqp-message-remover - 通过正则表达式模式从 AMQP 队列中删除不需要的消息

  • Arduino-cli - Arduino CLI 是一种一体化解决方案,提供构建器、板/库管理器、上传器、发现以及使用任何 Arduino 兼容板和平台所需的许多其他工具。

  • awless - 亚马逊网络服务(AWS)的强大命令行界面。

  • 锅炉- 一个极快的 CLI 工具,用于从样板模板创建项目。

  • box-cli-maker - 为您的 CLI 制作高度定制的 Box。

  • comb-go - Golang 实现的 CLI 工具,用于管理CloudComb资源。

  • coshell - GNU 'parallel' 的替代品。

  • dasel - 使用命令行中的选择器查询和更新数据结构。与jq / yq相当,但支持 JSON、YAML、TOML 和 XML,运行时依赖为零。

  • DevTodo2 - 每个项目的小型命令行任务列表管理器。

  • dsio - Google Cloud Datastore 的命令行工具。

  • efs2 - 一个非常简单的配置管理工具,由愚蠢的 shell 脚本提供支持。

  • enumeration - 简单的枚举代码生成。

  • fzf - 命令行模糊查找器

  • gich - 用 Go 编写的跨平台实用程序

  • gister - 从命令行管理你的 github gist

  • git-time-metric - 简单、无缝、轻量级的 Git 时间跟踪

  • gmail2go - 简单的 gmail 多帐户 cli 邮件检查器

  • go-amqp-sniffer -侦听AMQP 交换并将消息流式传输到 mongoimport 兼容的 JSON 中的标准输出

  • gocreate - 从模板创建文件的命令行实用程序。

  • godocdoc - 启动 godoc 并在浏览器中将其打开到当前目录中的项目。

  • gojson - 用于操作 JSON 以用于开发 Go 代码的命令行工具。

  • golor - golor 是一个用于 golang 源代码着色的命令行工具

  • GoNote - 命令行 SimpleNote 客户端。

  • gopass - 具有 git 同步功能的命令行密码管理器

  • GoPasswordCreator - 创建随机密码的小工具

  • Grozilla - 具有恢复功能的文件下载器实用程序。

  • JayDiff - 用 Go 编写的 JSON diff 实用程序。

  • jsonpp - 一个快速的命令行 JSON 漂亮的打印机。

  • lsp - 一种更人性化的替代方案ls

  • ltst - 在您的终端中查看您选择的最新消息

  • passhash - 用于创建安全密码哈希的命令行实用程序

  • passman - 命令行密码管理器

  • pdfcpu - PDF 处理器。

  • pjs - 漂亮的打印和快速搜索 JSON 数据结构。

  • project - 非常简单的 CLI 工具,用于从样板模板设置新项目。

  • redis-view - 树状工具可帮助您探索 redis 服务器中的数据结构

  • remote-torrent - 一个简单的工具,用于远程下载 Torrent 并通过 HTTP 全速检索文件,而不受 ISP Torrent 限制

  • restic - 一个快速、高效和安全的备份程序

  • runtemplate - 一个非常简单的用于执行 Go 模板的命令行工具,对于与go generate.

  • runtemplate - 用于执行 Go 模板以支持为您的类型生成 Go 代码的简单工具。

  • sift - 快速而强大的开源替代品grep

  • tecla - 命令行编辑库

  • Terracognita - 从现有的云提供商(反向 Terraform)读取并生成您的基础设施作为 Terraform 配置上的代码。

  • wlog - 一个简单的日志记录界面,支持跨平台颜色和并发。

  • wmenu - 一个易于使用的 cli 应用程序菜单结构,提示用户做出选择。

  • mani - 帮助您管理多个存储库的 CLI 工具

压缩

  • brotli - Brotli 算法的绑定。

  • compress - 更快地替换 gzip、zip、zlib、deflate。

  • dgolzo - LZO 绑定。

  • go-lzo - Pure-Go LZO 压缩器/解压器,忠实地翻译了 C 代码库。

  • dictzip - 随机访问dictzip格式文件的读写器。

  • fast-archiver - 对大量小文件具有快速性能的替代归档工具。

  • gbacomp - 用于(解)压缩与 GBA BIOS 兼容的数据的 Go 库。

  • go-lz4 - LZ4 无损压缩算法的端口。

  • go-lzss - 在 Go 中实现 LZSS 压缩算法。

  • go-sevenzip - 包 Sevenzip 实现对 7-zip 档案的访问(包装 LZMA SDK 的 C 接口)。

  • go-zip - C 库 libzip 的包装器,提供修改现有 ZIP 档案的能力。

  • lz4 - 高性能,并发 LZ4 实现。

  • lzma - Go 的压缩/lzma 包。

  • pgzip - 多核 gzip,与标准库兼容。

  • ppmd-go - LZMA SDK 库的 Golang 绑定。(仅绑定 PPMD)

  • s2 - 高吞吐量 Snappy 扩展。

  • snappy-go - 谷歌在 Go 中的 Snappy 压缩算法。

  • yenc - yenc 解码器包。

  • zappy - 包 zappy 实现了 zappy 基于块的压缩格式。它旨在结合良好的速度和合理的压缩。

  • zstd - Pure Go Zstandard 压缩/解压缩。

并发和 Goroutines

  • grpool - 轻量级 Goroutine 池。

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

  • tunny - 一个 goroutine 池。

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

配置文件解析器

  • awsenv - 一个小二进制文件,用于为配置文件加载 Amazon (AWS) 环境变量

  • code.soquee.net/env— 从.env或类似文件中加载环境变量,或从任何文件中加载环境变量io.Reader并填充本地环境。

  • confl - nginx 配置语法,宽松,编码/解码,自定义编组

  • configor - 支持 YAML、JSON、TOML、Shell 环境的 Golang 配置工具

  • fig - 用于从文件和环境变量(带有验证和默认值)读取配置的微型库。

  • flagfile - 向标准库标志包添加解析和序列化支持(添加 --flagfile 选项)

  • gcfg - 将 INI 风格的配置文件读入 Go 结构体;支持用户定义的类型和小节

  • globalconf - 毫不费力地坚持并从 ini 配置文件中读取标志值

  • goconf - 配置文件解析器

  • goconfig - 基于结构自省的配置,支持环境变量、命令行参数等。

  • hjson - 人类 JSON,人类的配置文件格式。宽松的语法,更少的错误,更多的评论。

  • hocon - 使用 HOCON(一种人性化的 JSON 超集)格式的配置库,支持环境变量、引用其他值、注释和多个文件等功能。

  • jsonconfig - 具有注释支持的 JSON 配置文件解析器

  • koanf - 轻量级,可扩展的库,用于在 Go 应用程序中读取配置。内置对 JSON、TOML、YAML、env、命令行的支持。

  • lib/ini - 包 ini 实现了 Git 配置文件语法定义的 INI 文本格式的读写。

  • lib/ssh/config - 包配置提供 ssh_config(5) 解析器和 getter。

  • properties - 用于读取和写入属性文件的库

  • scribeconf - Facebook Scribe 服务器配置文件解析器

  • 汤姆:

    • go-toml-config - 基于 TOML 的 Go 配置

    • go-toml - TOML 语言的 Go 库

    • gp-config - 具有基本和反射 API 的 TOML 语法子集

    • toml-go - 一个易于使用的 Toml 格式的 Go 解析器

    • toml - 用于 Go 反射的 TOML 解析器

    • tom-toml - 用于 Go 的 TOML 解析器,支持注释/格式化程序/应用。

  • 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 并非旨在为比特币添加功能,而是通过提高简单性、安全性和去除所有不必要的东西来改进比特币。

密码学

  • BLAKE2b - BLAKE2b 哈希函数的 Go 实现

  • cryptogo - 一些有用的与密码学相关的函数,包括填充(PKCS7、X.923)、带有随机盐和 IV 的 PBE

  • cryptoPadding - 在 Go 中实现的块填充方案

  • dkeyczar - Google'e Keyczar 加密库的 Go 端口

  • dkrcrypt - 韩文分组密码:SEED 和 HIGHT

  • dskipjack - SKIPJACK 加密算法的 Go 实现

  • go-cs - 并发 ssh 客户端。

  • go-ed25519 - Floodberry 的 ed25519-donna 的 CGO 绑定。快速批量验证。

  • go-hc128 - HC-128 的 Go 实现,一种 eSTREAM 流密码

  • go-jose - JOSE 标准的 Go 实现

  • go- lioness - 使用 Chacha20 和 Blake2b 的雌狮宽块密码

  • go-minilock - minilock 文件加密系统的 Go 实现。

  • GoSkein - Go 的 Skein 哈希和 Threefisch 加密的实现

  • go-sphinxmixcrypto - Sphinx 混合网络加密数据包格式操作

  • keccak - keccak (SHA-3) 实现

  • ketama.go - libketama 风格的一致性哈希

  • kindi - 加密命令行工具

  • openssl - 用于 go 的 openssl 绑定

  • otrcat - 使用 Off-The-Record 协议进行通信的通用命令行工具

  • scrypt - Colin Percival 的 scrypt 密钥推导函数的 Go 实现

  • secureio - 易于使用的 XChaCha20 加密包装器,用于io.ReadWriteCloser使用 ECDH 密钥交换算法、ED25519 签名和 Blake3+Poly1305 校验和/消息身份验证。也是一个多路复用器。

  • simpleaes - AES 加密变得简单

  • siphash - SipHash:一个快速的短输入伪随机函数

  • SRP - SRP:安全远程密码 - 在 Go 中的实现

  • ssh-vault - 使用 ssh 密钥加密/解密

  • themis - 用于保护敏感数据的多平台高级加密库:具有前向保密性的安全消息传递,安全数据存储 (AES256GCM);适合构建端到端的加密应用程序

  • Tiger - Tiger 加密哈希算法

  • whirlpool - 漩涡加密散列算法

数据处理

  • 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 - 基于切片的快速堆栈实现。

队列

  • fifo_queue - 简单的 FIFO 队列

  • figo - 具有可选线程安全版本的简单 fifo 队列。

  • go.fifo - 简单的自动调整线程安全的 fifo 队列。

  • gopqueue - 容器/堆顶部的优先队列

  • go-priority-queue - 具有传统优先级队列接口的易于使用的堆实现。

  • golibs/stack - 一个 LIFO 和 ringbuffer 包

  • gringo - 使用精简的无锁环缓冲区实现的极简队列

  • heap - 一种通用的堆包,无需将元素interface{}来回转换。

  • queued - 一个简单的网络队列守护进程

  • queue - 基于 Redis 的队列管理器

图表

  • 图- 基本图算法库

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

  • 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 实现

其他

  • aurora - 跨平台 Beanstalk 队列服务器控制台。

  • bigendian - 二进制解析和打印

  • deepcopy - 制作数据结构的深层副本

  • dgobloom - 布隆过滤器实现

  • epochdate - 以 Unix 纪元以来的天数存储的紧凑日期

  • etree - 轻松解析和生成 XML

  • excelize - 用于读取和写入 Microsoft Excel(XLSX)文件的 Golang 库。

  • fsm - 用于代替布尔值的简约状态机

  • go-algs/ed - 广义编辑距离实现

  • go-algs/maxflow - 使用最大流量算法的能量最小化工具。

  • gocrud - 用于处理任意深度数据结构的框架。

  • go-extractor - GNU libextractor 的 Go 包装器

  • Gokogiri - 一个轻量级的 libxml 包装库

  • GoNetCDF - NetCDF 文件格式库的包装器

  • goop - Go 的动态面向对象编程支持

  • gopart - 可以在 Go 中索引的任何内容的类型不可知分区。

  • godoc - 用 Go 编写的协议缓冲区编译器

  • govalid - 数据验证库

  • goxlsxwriter - 用于编写 XLSX(Excel)文件的libxlsxwriter 的Golang 绑定

  • goxml - 一个围绕 libxml2 的薄包装

  • hyperloglog - HyperLogLog 和 HyperLogLog++ 算法的实现,用于使用常量内存估计集合的基数.

  • itertools - 提供通用的可迭代生成器函数以及类似于 itertools python 包的功能。

  • jsonv - 一个 JSON 验证器

  • libgob - 用于从其他语言生成gob的低级库

  • mxj - Marshal/Unmarshal XML doc from/to map[string]interface{}or JSON

  • ofxgo - 用于查询 OFX 服务器和/或解析响应(和示例命令行客户端)的库。

  • Picugen - 通用哈希/校验和摘要生成器。

  • simple-sstable - 一种简单、简洁的 SSTable 格式和 Go 中的实现。

  • tribool - Go 的三元(树值)逻辑

  • 元组- 元组是一种将包含混合类型/值的 go 类型

  • vcard - 在 go 中读写 vcard 文件。RFC 2425(目录信息的 MIME 内容类型)和 RFC 2426(vCard MIME 目录配置文件)的实现。

  • weightedrandom - 用于高效加权随机挑选的库

  • xlsx - 一个帮助从 Microsoft Office Excel XLSX 文件中提取数据的库。

数据库

另请参阅SQLDrivers 页。

蟑螂数据库

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

Hazelcast IMDG

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

MongoDB

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

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

  • Rocks-stata - MongoDB 备份工具

MySQL

  • 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 使用与 Rust 的 Diesel 兼容的机制生成、应用和列出 PostgreSQL 数据库迁移的库。

  • go-libpq - 用于 Go 的数据库/sql 包的基于 cgo 的 Postgres 驱动程序

  • go-pgsql - Go 的 PostgreSQL 客户端库

  • kallax - PostgreSQL 类型安全 ORM

  • pgsql.go - PostgreSQL 高级客户端库包装器

  • pgx - Go PostgreSQL 驱动程序,与数据库 / sql 兼容并具有本机接口以提供更多性能和功能

  • pq - 用于数据库 / sql 的 Pure Go PostgreSQL 驱动程序

  • yoke - 具有自动故障转移和自动集群恢复功能的 Postgres 高可用性集群

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 代码

日期

  • date - 用于处理日期的包。

  • date - 用于日期、日期范围、时间跨度、时段和时间。

  • goment - 受 Moment.js 启发的 Go 时间库

  • gostrftime - strftime(3) 类似于time.Time 的格式

  • hijri - 根据 Ummul Qura 日历将回历日期转换为公历日期的小型帮助库。

  • now - 现在是 golang 的时间工具包。

  • tai64 - tai64 和 tai64n 解析和格式化

  • Tideland golib - Timex 扩展

  • tuesday - 与 Ruby 兼容的 Strftime 实现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 包问题会导致 HTTP API 的错误类似于RFC7807 中描述的错误。

  • errgo - 错误跟踪和注释。

  • 错误- 错误增加和错误与文件和行号。

  • 错误- juju/errors 包提供了一种简单的方法来注释错误而不会丢失原始错误上下文,并从记录的位置的错误中获取堆栈跟踪。

  • goerr - 允许制作单独的(模块化)和可重用的错误处理程序。使用 Return(error) 和 catch err := OR1(..)

  • hierr - 层次结构中的嵌套错误。

  • panicparse - 用风格解析恐慌。

  • Space Monkey 错误- Go 的缺失错误库 - 堆栈捕获、错误层次结构、错误标签

  • Tideland golib - 详细的错误值

编码和字符集

  • 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 - 在终端上与朋友下棋

地理信息系统

  • geojson - Go 包以快速轻松地创建 geojson 格式的 json 数据。描述

  • go-geom - 具有本机 Go GeoJSON 和 WKB 编码和解码的高效开放地理联盟风格的几何结构(正在进行中)

  • go.geo - 针对在线制图的几何/地理库(作者不赞成使用他的新 gis 库orb。)

  • go.geojson - GeoJSON 对象的编组和解组

  • gogeos - 用于空间数据操作和几何算法的 Go 库

  • go-proj-4 - 制图投影库 PROJ.4 的接口

  • go-kml - 谷歌地球 KML 生成

  • go-polyline - 谷歌地图折线编码和解码

  • orb - 具有 geojson、wkb、mvt 支持的 2d 几何操作(长度、面积、多边形包含等)

  • osm - 用于读取、写入和处理 OpenStreetMap 数据的通用库

  • UTM - 双向 UTM-WGS84 转换器

  • gdal - 为 GDAL 提供一个 go 包装器

Go 实现

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

图形和音频

  • accumimage -的变体image.NRGBAcolor.NRGBA颜色,它支持的积累和平均

  • AnsiGo - 用纯 Go 编写的简单 ANSi 到 PNG 转换器

  • Arclight - Arclight 是一种渲染图像的工具

  • bild - 纯 Go 中的图像处理算法集合

  • bimg - 使用 libvips 快速调整图像大小和转换的小型 Go 库

  • blend - Go 的图像处理库和渲染工具包。

  • bpg - Go 的 BPG 解码器。

  • 图表- 以不同的输出格式生成常见图表(饼图、条形图、条形图、散点图、直方图)的库。

  • draw2d - 这个包提供了一个 API 来在图像上绘制 2d 几何形状。这个库主要受 postscript、cairo、HTML5 画布的启发。

  • ebiten - 一个跨平台的开源游戏库,您可以使用它为多平台使用简单的 API 开发 2D 游戏。不需要 Cgo/c 编译器设置。

  • egl - egl 绑定

  • es2 - es2 绑定

  • fastgallery - 快速的静态图像和视频网络画廊生成器

  • Fourcc - 媒体文件中使用的视频编解码器、压缩格式、颜色和像素格式的 FOURCC(四字符代码)(4CC)标识符的 Go 实现。

  • freetype-go - FreeType 的 Go 实现

  • glfw 3 - GLFW 3 库的绑定

  • glfw - 绑定到用于打开窗口、创建 OpenGL 上下文和管理输入的多平台库

  • glh - 用于管理文本、纹理、帧缓冲区等的 OpenGL 辅助函数

  • gl - 使用 glew 的 OpenGL 绑定

  • gltf - 用于编组和解组 glTF 的库

  • glu - 绑定到 OpenGL 实用程序库

  • GLUI -包装器GLFW简化显示图像

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

  • goalsa - 用于 ALSA 捕获和播放的 Go 绑定

  • go-cairo - 开罗图形库的包装器

  • gocl - Go OpenCL (gocl) 绑定,在 Mac/Linux/Windows/Android 上支持 OpenCL 1.1/1.2/2.0

  • go-colorful - 颜色空间转换和其他颜色空间操作

  • go-csnd6 - 绑定到 Csound6 API

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

  • goexif - 从图像文件中检索 EXIF 元数据

  • gofb - 用于逐像素绘制的帧缓冲库

  • goflac - 使用 libFLAC 解码和编码 FLAC 音频的绑定

  • go-gd - GD 的狂欢

  • GoGL - OpenGL 绑定生成器

  • go-gnuplot - Gnuplot 的绑定

  • go-gtk3 - go 的 gtk3 绑定

  • go-heatmap - 制作热图的工具包

  • GoHM - Go 中的 H.265/HEVC HM 视频编解码器

  • goHorde - Horde3d 渲染引擎的 Go 绑定。

  • GoMacDraw - go.wde的 mac 实现

  • go-openal - Go 的实验性 OpenAL 绑定

  • go-opencl - OpenCL 异构并行编程库的 go 包装器

  • go-opencv - 在 gocv / 1.x API 在 opencv 中绑定 OpenCV / 2.x API

  • Go-OpenGL - OpenGL 的Go 绑定

  • Goop - 音频合成器引擎

  • goray - 基于 Yafaray 用 Go 编写的光线追踪器

  • gosc - Pure Go OSC(开放式声音控制)库

  • go-taglib - TagLib 的 Go 包装器,音频元数据解析器

  • go-tmx - 读取 Tiled 的 TMX 文件的 Go 库

  • govips - 闪电般快速的 Go 图像处理和调整大小库

  • GoVisa - Go 中的 H265/HEVC 比特流分析器

  • go-vlc - 绑定 libVLC

  • go.wde - 一个窗口/绘图/事件界面

  • goxscr - 重写 xscreensaver 端口

  • graphics2d - 基于路径和路径变换的 2D 图形包

  • gst - GStreamer 的绑定

  • gumble - Mumble VoIP 协议的客户端库

  • hgui - 基于 http 和 gtk-webkit 的 Gui 工具包。

  • hsvimage - 支持 HSV 颜色模型和图像

  • imaginary - 用于图像调整大小和操作的简单快速的 HTTP 微服务

  • 成像- 包成像提供基本的图像处理功能(调整大小、旋转、翻转、裁剪等)以及简化的图像加载和保存。

  • imgproxy - 用于调整和转换远程图像的快速且安全的独立服务器

  • libvlc-go - VLC 媒体播放器使用的 libVLC 2.X/3.X/4.X 的 Go 绑定

  • merlin - 自动视频编码器

  • netpbm - 从 Go 程序读取和写入 Netpbm 图像

  • opencv - OpenCV 的 Go 绑定

  • osmesa - 为 osmesa 进行绑定。

  • 唱机- DSP 管道。

  • Plotinum - 用于创建绘图的 API

  • portaudio - 到 PortAudio 的 Go 绑定

  • pulsego - 为 PulseAudio 绑定

  • pulse-simple - PulseAudio 的 Simple API 的 Go 绑定,可轻松捕获和播放音频。

  • rasterx - SVG 标准渲染、光栅化库。

  • 调整大小- 使用不同的插值调整图像大小。

  • RiGO - Go 中的 RenderMan 接口实现。

  • smartcrop - 内容感知图像裁剪

  • starfish - 基于 SDL 构建的简单 Go 图形和用户输入库

  • stl - 用于读取、写入和操作用于 3D 打印的立体光刻 (.stl) 文件的库

  • svgo - 用于创建和输出 SVG 的库

  • tag - 用于读取标签元数据并为音频文件创建元数据不变校验和的库:FLAC、所有 IDv3 变体和 MP4(ACC、ALAC)

  • tga - TARGA 图像格式编码/解码库

  • tiff - 用于 Go 的丰富 TIFF/BigTIFF/GeoTIFF 解码器/编码器。

  • twilio-go - Twilio API 的 Go 客户端。

  • videoinput - VideoInput (Windows) 的 Go 绑定。

  • vu - 虚拟宇宙。骨架3D引擎。

  • vulkan - Vulkan API 的 Golang 绑定。

  • webp - Go 的 WebP 解码器和编码器。

  • wg - Web 图形,在浏览器中显示实时图形,并带有用户输入。

  • window - 针对实时数据优化的移动窗口

  • xmorph - 变形和变形图像

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 库。


  • 新闻标题:go语言能开发哪些程序
    标题来源:http://csdahua.cn/article/gjhood.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流