Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-go

A curated list of awesome Go frameworks, libraries and software
https://github.com/xiaomingx/awesome-go

Last synced: 5 days ago
JSON representation

  • Actor 模型

    • Ergo - Golang 的基于 Actor 的框架,具有网络透明性,灵感来自 Erlang。
    • ProtoActor - 高效分布式 Actor 框架,支持 Go、C#、Java/Kotlin。
  • 人工智能 (AI)

    • langchaingo - 基于语言模型开发应用的框架。
    • LocalAI - 开源的 OpenAI 替代方案,可以自托管 AI 模型。
  • 音频与音乐

    • flac - 原生 Go FLAC 编码/解码库。
    • GoAudio - Go 语言的音频处理库。
    • Oto - 支持多平台播放音频的低级别库。
    • GoAudio - Go 语言的音频处理库。
    • Oto - 支持多平台播放音频的低级别库。
    • flac - 原生 Go FLAC 编码/解码库。
  • 身份认证与 OAuth

    • authboss - 模块化身份认证系统,适合快速开发 web 应用时直接使用。
    • casbin - 支持 ACL、RBAC、ABAC 的访问控制库。
    • gologin - 支持 OAuth1 和 OAuth2 的身份认证处理器。
    • goth - 简洁的 OAuth 和 OAuth2 处理库,支持多种身份提供商。
    • jwt-go - 全功能 JSON Web Token (JWT) 实现库,支持解析、验证、生成和签名。
    • keto - 开源的权限系统,基于 Google 的 Zanzibar 论文实现,支持 ACL、RBAC 等模型。
    • oauth2 - 通用 OAuth 2.0 包,支持 JWT、Google API、Compute Engine 等。
    • oidc - 使用简单的 OpenID Connect 客户端和服务器库,通过 OpenID 基金会认证。
    • authboss - 模块化身份认证系统,适合快速开发 web 应用时直接使用。
    • casbin - 支持 ACL、RBAC、ABAC 的访问控制库。
    • gologin - 支持 OAuth1 和 OAuth2 的身份认证处理器。
    • goth - 简洁的 OAuth 和 OAuth2 处理库,支持多种身份提供商。
    • jwt-go - 全功能 JSON Web Token (JWT) 实现库,支持解析、验证、生成和签名。
    • keto - 开源的权限系统,基于 Google 的 Zanzibar 论文实现,支持 ACL、RBAC 等模型。
    • oauth2 - 通用 OAuth 2.0 包,支持 JWT、Google API、Compute Engine 等。
    • oidc - 使用简单的 OpenID Connect 客户端和服务器库,通过 OpenID 基金会认证。
  • 区块链工具

  • 机器人开发库

  • 构建自动化工具

  • 命令行界面开发库

  • 配置管理库

  • 数据库工具

  • 分布式系统开发

  • 邮件处理工具

  • 常用的GUI开发库

    • 工具包

      • fyne - 基于Material Design的跨平台GUI库,支持Linux、macOS、Windows、BSD、iOS和Android。
      • qt - Go语言的Qt绑定,支持多个平台:Windows、macOS、Linux等。
      • Wails - 利用系统自带的HTML渲染器开发Mac、Windows和Linux桌面应用。
      • fyne - 基于Material Design的跨平台GUI库,支持Linux、macOS、Windows、BSD、iOS和Android。
      • gotk3 - GTK3的Go语言绑定。
      • qt - Go语言的Qt绑定,支持多个平台:Windows、macOS、Linux等。
      • Wails - 利用系统自带的HTML渲染器开发Mac、Windows和Linux桌面应用。
    • 交互工具

      • robotgo - 跨平台的GUI系统自动化库,可以控制鼠标、键盘等。
      • systray - 用于创建系统通知区域图标的跨平台库。
      • robotgo - 跨平台的GUI系统自动化库,可以控制鼠标、键盘等。
  • 硬件交互常用库

    • 交互工具

      • ghw - 硬件信息探测库。
      • go-rpio - GPIO控制库,适用于树莓派,不需要cgo。
      • gocv - 基于OpenCV的计算机视觉库。
      • ghw - 硬件信息探测库。
      • go-rpio - GPIO控制库,适用于树莓派,不需要cgo。
      • gocv - 基于OpenCV的计算机视觉库。
  • 图片处理库

    • 交互工具

      • imaging - 简单易用的Go图像处理库。
      • gg - 2D图形渲染库。
      • bimg - 使用libvips实现高效图像处理的小型库。
      • go-qrcode - 支持自定义颜色和图标的二维码生成库。
      • imaging - 简单易用的Go图像处理库。
      • gg - 2D图形渲染库。
      • bimg - 使用libvips实现高效图像处理的小型库。
  • IoT物联网开发库

    • 交互工具

      • periph - 设备外设接口库,帮助开发低层硬件交互代码。
      • periph - 设备外设接口库,帮助开发低层硬件交互代码。
  • 任务调度

    • 交互工具

      • gocron - 简单易用的Go语言任务调度库。
      • gron - 使用简单API定义基于时间的任务,自动运行。
      • gocron - 简单易用的Go语言任务调度库。
  • JSON处理库

    • 交互工具

      • GJSON - 通过一行代码从JSON中获取值。
      • go-json - 高性能的JSON处理库,替代标准库。
      • GJSON - 通过一行代码从JSON中获取值。
      • go-json - 高性能的JSON处理库,替代标准库。
  • 日志处理库

    • 交互工具

      • logrus - 结构化日志库,支持多种格式和输出方式。
      • zap - 高性能的结构化日志库。
      • zerolog - 零内存分配的JSON日志库。
      • logrus - 结构化日志库,支持多种格式和输出方式。
      • zap - 高性能的结构化日志库。
      • zerolog - 零内存分配的JSON日志库。
  • 机器学习库

    • 交互工具

      • gorgonia - 类似于Theano的图计算库,支持构建机器学习算法。
      • gorgonia - 类似于Theano的图计算库,支持构建机器学习算法。
      • gorse - 基于协同过滤的推荐系统。
  • HTTP客户端库

    • 交互工具

      • resty - 简洁易用的HTTP和REST客户端。
      • grequests - 类似于Python Requests的HTTP客户端。
      • resty - 简洁易用的HTTP和REST客户端。
      • grequests - 类似于Python Requests的HTTP客户端。
  • ORM库

    • 交互工具

      • bun - SQL优先的ORM库,支持PostgreSQL、MySQL等。
      • ent - 实体框架,简洁强大的ORM解决方案。
      • bun - SQL优先的ORM库,支持PostgreSQL、MySQL等。
      • GORM - 功能强大的ORM库,适合开发者使用。
  • 项目结构模板

  • 字符串处理库

    • 交互工具

      • strutil - 字符串工具库。
      • xstrings - 提供其他语言中的常用字符串操作方法。
      • gobeam/Stringy - 支持字符串的驼峰、蛇形、短横线转换等操作。
      • strutil - 字符串工具库。
      • xstrings - 提供其他语言中的常用字符串操作方法。
  • 语言检测和处理

    • 交互工具

      • whatlanggo - 支持84种语言的自然语言检测包。
      • go-stem - 词干提取库,支持Porter算法。
      • go-stem - 词干提取库,支持Porter算法。
      • whatlanggo - 支持84种语言的自然语言检测包。
  • 网络库

    • 交互工具

      • fasthttp - 高性能HTTP库,速度比标准库快。
      • gopacket - 数据包处理库,适合网络分析。
      • fasthttp - 高性能HTTP库,速度比标准库快。
      • gopacket - 数据包处理库,适合网络分析。
      • quic-go - QUIC协议的纯Go实现。
      • quic-go - QUIC协议的纯Go实现。
  • OpenGL开发库

    • 交互工具

      • gl - OpenGL的Go绑定。
      • glfw - GLFW 3的Go绑定,用于创建OpenGL上下文和处理事件。
      • gl - OpenGL的Go绑定。
      • glfw - GLFW 3的Go绑定,用于创建OpenGL上下文和处理事件。
  • 常用依赖注入库

    • 交互工具

      • wire - 自动初始化工具。
      • dig - 基于反射的依赖注入工具包。
      • fx - 基于依赖注入的应用程序框架。
      • wire - 自动初始化工具。
      • dig - 基于反射的依赖注入工具包。
      • fx - 基于依赖注入的应用程序框架。
  • 模板引擎

    • 交互工具

      • goview - 基于 Go 的轻量级、简洁的模板库,适用于构建 Go Web 应用程序。
      • goview - 基于 Go 的轻量级、简洁的模板库,适用于构建 Go Web 应用程序。
      • pongo2 - 类似 Django 的模板引擎,功能强大且易于使用。
      • jet - 强大的模板引擎,提供良好的性能和模板继承支持。
      • quicktemplate - 高效的模板引擎,将模板转换为 Go 代码后编译。
      • quicktemplate - 高效的模板引擎,将模板转换为 Go 代码后编译。
      • pongo2 - 类似 Django 的模板引擎,功能强大且易于使用。
      • jet - 强大的模板引擎,提供良好的性能和模板继承支持。
  • 测试

    • 测试框架

      • Testify - 常用的 Go 测试扩展库,提供断言和 mock 支持。
      • ginkgo - 适用于 Go 的 BDD 测试框架。
      • Testify - 常用的 Go 测试扩展库,提供断言和 mock 支持。
      • ginkgo - 适用于 Go 的 BDD 测试框架。
    • Mock 工具

      • gomock - Go 语言的常用 mock 框架,用于生成模拟接口的对象。
      • go-sqlmock - Mock SQL 驱动程序,用于测试数据库交互。
      • gomock - Go 语言的常用 mock 框架,用于生成模拟接口的对象。
      • go-sqlmock - Mock SQL 驱动程序,用于测试数据库交互。
    • Fuzz 测试

      • go-fuzz - 随机化测试工具,用于找出边界条件和潜在问题。
      • go-fuzz - 随机化测试工具,用于找出边界条件和潜在问题。
  • 文本处理

    • 格式化工具

      • go-humanize - 将时间、数字和内存大小格式化为可读形式。
      • gotabulate - 方便地将表格数据美观地打印出来。
      • go-humanize - 将时间、数字和内存大小格式化为可读形式。
      • gotabulate - 方便地将表格数据美观地打印出来。
    • 标记语言

      • goldmark - 现代的 Markdown 解析器,符合 CommonMark 标准,易于扩展。
      • html-to-markdown - 将 HTML 转换为 Markdown 的工具。
      • goldmark - 现代的 Markdown 解析器,符合 CommonMark 标准,易于扩展。
      • html-to-markdown - 将 HTML 转换为 Markdown 的工具。
    • 爬虫工具

      • GoQuery - 提供类似 jQuery 的 API,以便轻松地解析和操作 HTML 文档。
      • GoQuery - 提供类似 jQuery 的 API,以便轻松地解析和操作 HTML 文档。
  • 第三方 API

    • 爬虫工具

      • aws-sdk-go - 官方 AWS SDK for Go,支持访问 AWS 的所有服务。
      • discordgo - 适用于 Discord 聊天 API 的 Go 绑定。
      • go-openai - OpenAI 的 ChatGPT、DALL·E、Whisper API 库。
      • aws-sdk-go - 官方 AWS SDK for Go,支持访问 AWS 的所有服务。
      • discordgo - 适用于 Discord 聊天 API 的 Go 绑定。
      • go-openai - OpenAI 的 ChatGPT、DALL·E、Whisper API 库。
      • slack - Slack API 的 Go 客户端。
      • github - 访问 GitHub REST API v3 的 Go 库。
      • slack - Slack API 的 Go 客户端。
      • github - 访问 GitHub REST API v3 的 Go 库。
  • 常用工具

    • 爬虫工具

      • clipboard - 跨平台剪贴板工具包。
      • cvt - 安全、方便地将任意值转换为其他类型。
      • delve - Go语言调试器。
      • dive - 用于探索Docker镜像中每一层的工具。
      • fzf - Go编写的命令行模糊查找工具。
      • goreleaser - 快速生成Go二进制文件发布工具。
      • gotenv - 从 `.env` 文件中加载环境变量。
      • lo - 类似 Lodash 的 Go 语言工具库,基于 Go 1.18+ 泛型实现。
      • sqlx - 为标准 `database/sql` 包增加了扩展功能。
      • clipboard - 跨平台剪贴板工具包。
      • cvt - 安全、方便地将任意值转换为其他类型。
      • delve - Go语言调试器。
      • dive - 用于探索Docker镜像中每一层的工具。
      • fzf - Go编写的命令行模糊查找工具。
      • goreleaser - 快速生成Go二进制文件发布工具。
      • gotenv - 从 `.env` 文件中加载环境变量。
      • lo - 类似 Lodash 的 Go 语言工具库,基于 Go 1.18+ 泛型实现。
      • sqlx - 为标准 `database/sql` 包增加了扩展功能。
  • UUID 生成库

    • 爬虫工具

      • ulid - Go实现的ULID(通用唯一可排序标识符)。
      • uuid - 基于RFC 4122的Go UUID库。
      • ulid - Go实现的ULID(通用唯一可排序标识符)。
      • uuid - 基于RFC 4122的Go UUID库。
  • 验证库

    • 爬虫工具

      • govalidator - 字符串、数值、切片和结构体的验证和过滤器。
      • validator - Go结构体和字段验证,支持交叉字段、交叉结构体、Map、Slice和数组。
      • govalidator - 字符串、数值、切片和结构体的验证和过滤器。
      • validator - Go结构体和字段验证,支持交叉字段、交叉结构体、Map、Slice和数组。
  • Web 框架

    • 爬虫工具

      • Beego - 高性能的开源Go Web框架。
      • Echo - 高性能、简洁的Go Web框架。
      • Fiber - 类似Express.js的Web框架,基于 `fasthttp` 实现。
      • Gin - 高性能、简洁的Go Web框架。
      • Goravel - 受Laravel启发的Go Web框架,内置ORM、认证、队列等功能。
      • Beego - 高性能的开源Go Web框架。
      • Echo - 高性能、简洁的Go Web框架。
      • Fiber - 类似Express.js的Web框架,基于 `fasthttp` 实现。
      • Gin - 高性能、简洁的Go Web框架。
      • Goravel - 受Laravel启发的Go Web框架,内置ORM、认证、队列等功能。
    • 中间件

      • CORS - 轻松为API添加CORS支持。
      • Tollbooth - HTTP请求速率限制中间件。
      • Limiter - 简单的速率限制中间件。
      • CORS - 轻松为API添加CORS支持。
      • Tollbooth - HTTP请求速率限制中间件。
      • Limiter - 简单的速率限制中间件。
    • 路由库

      • chi - 小巧、快速且表现力丰富的HTTP路由库。
      • httprouter - 高性能HTTP路由库。
      • chi - 小巧、快速且表现力丰富的HTTP路由库。
      • httprouter - 高性能HTTP路由库。
      • mux - 功能强大的URL路由和调度器。
      • mux - 功能强大的URL路由和调度器。
  • 代码分析工具

    • 路由库

      • golangci-lint - 快速的Go静态分析工具,支持多种linters。
      • staticcheck - 类似`go vet`的静态分析工具,包含多种检查。
      • staticcheck - 类似`go vet`的静态分析工具,包含多种检查。
      • golangci-lint - 快速的Go静态分析工具,支持多种linters。
  • Go工具

    • 路由库

      • go-swagger - Swagger 2.0的Go实现,用于自动化生成REST API文档。
      • richgo - 美化 `go test` 输出结果。
      • gotestdox - 将Go测试结果展示为可读的句子。
      • go-swagger - Swagger 2.0的Go实现,用于自动化生成REST API文档。
      • richgo - 美化 `go test` 输出结果。
      • gotestdox - 将Go测试结果展示为可读的句子。
  • 软件包

    • DevOps 工具

      • Docker - 为开发人员和系统管理员提供的分布式应用程序开源平台。
      • Flannel - Kubernetes 容器网络工具。
      • Gitea - Gogs的社区分支,轻量级的Git服务。
      • Hey - 一个小型的程序,用于向Web应用程序发送负载。
      • k3s - 轻量级Kubernetes。
      • k6 - 现代化的负载测试工具,使用Go和JavaScript编写。
      • minikube - 在本地运行Kubernetes。
      • Traefik - 反向代理和负载均衡器,支持多种后端。
      • Docker - 为开发人员和系统管理员提供的分布式应用程序开源平台。
      • Flannel - Kubernetes 容器网络工具。
      • Gitea - Gogs的社区分支,轻量级的Git服务。
      • Hey - 一个小型的程序,用于向Web应用程序发送负载。
      • k3s - 轻量级Kubernetes。
      • k6 - 现代化的负载测试工具,使用Go和JavaScript编写。
      • minikube - 在本地运行Kubernetes。
      • Traefik - 反向代理和负载均衡器,支持多种后端。
    • 其他软件

      • croc - 在计算机之间安全、轻松地发送文件或文件夹。
      • hugo - 快速现代的静态网站引擎。
      • restic - 去重备份程序。
      • syncthing - 开源的分布式文件同步工具。
      • croc - 在计算机之间安全、轻松地发送文件或文件夹。
      • hugo - 快速现代的静态网站引擎。
      • restic - 去重备份程序。
      • syncthing - 开源的分布式文件同步工具。
  • 资源

  • 社区资源