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等等。
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。
go语言开发的程序(项目)有哪些?下面本篇文章给大家分享一些Go语言的开源项目,下面一起看看:
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,人类的配置文件格式。宽松的语法,更少的错误,