2019 年 6 个实用的 Go 框架

2025-06-10

2019 年 6 个实用的 Go 框架

世界需要更多 Go 开发者。2019年 Stack Overflow 开发者调查显示,Go 是继 Python 和 JavaScript 之后,最受欢迎的第三大编程语言。因此,Go 开发者的高薪也就不足为奇了。他们的薪资在全球排名第二(8 万美元),在美国排名第三(13.6 万美元)。

尽管 Go 是一种相对简单的编程语言,尤其是与语法相似的 C 语言相比时,但许多复杂的开源项目都在 Go 上运行,从 Docker 到 Terraform 再到 Kubernetes。

由于对 Go 开发人员的需求不断增加以及它在大型开源项目中的受欢迎程度,开发人员一直希望通过为 Go 构建大量框架和库来扩展其功能。

虽然 Go 的标准库足以创建可用于生产的微服务,并且许多开发人员都倾向于使用不带任何外部库或框架的 Go,但您的项目可能需要标准库中未包含的功能。

因此,这里有 6 个受欢迎的框架,按 GitHub 星号排名,扩展了 Go 的功能。

labstack/echo

Echo 是一个极简的 Web 框架,它在标准库 + 路由器和全栈 Web 框架之间实现了完美的平衡。它配备了可扩展的中间件、集中式 HTTP 错误处理以及适用于任何模板引擎的模板渲染功能。

许多开发人员似乎更喜欢 Echo 而不是 Gin(目前拥有最多 GitHub 星号(28K)的 Go 框架),因为 EchoHandlerFunc比 Gin 具有更好的文档、更好的路由器模式匹配和更好的签名。

前往装备/装备

Go Kit 是使用 Go 构建微服务的最流行工具包。它旨在填补标准库在 RPC 安全性、系统可观察性、基础设施集成和程序设计方面的空白。

Go Kit 具有轻微的主观性并且专为互操作性而设计,因此您可以轻松地使其适应您的特定情况。

特森纳特/贝吉塔

Vegeta 是一款 HTTP 负载测试工具,也是龙珠 Z 粉丝们最常用的库。它尤其擅长以恒定的请求速率测试 HTTP 服务。使用它来查找架构中可能存在的瓶颈。

大猩猩/mux

Gorilla mux 包是一个 URL 路由和调度器。它不是最轻量级的 mux,但却是功能最丰富的。它可以基于 URL 主机、路径、路径前缀、方案、标头和查询值、HTTP 方法,甚至正则表达式来匹配请求。

担架/作证

Go stdlib 没有断言,因为它的开发人员认为开发人员使用它们作为避免考虑正确的错误处理和报告的拐杖。

但你可能不这么认为。这就是 Testify 的用武之地:它是一组软件包,允许你编写测试,确保代码按预期运行。它包含简单的断言、模拟功能以及测试套件接口和函数。

jmoiron/sqlx

Go 有一个很棒的database/sql库,但它并不完美。例如,查询是一个手动过程。SQLx 是一个库,你可以将行编组到结构体(支持嵌入式结构体)、映射和切片中。它还支持命名参数,包括预处理语句,并且有助于Get快速Select从查询切换到结构体/切片。

但是,SQLx 不是 ORM,所以你仍然需要花费一些时间编写重复的代码。如果你想使用 ORM,可以使用 GORM。不过,请记住,它在查询方面比 SQLx慢得多。


以上就是六个扩展 Go 功能的框架和库。如果您想探索其他 Go 框架,可以在avelino/awesome-go找到完整的列表。您呢?您使用哪些 Go 框架和库?

鏂囩珷鏉ユ簮锛�https://dev.to/x-team/6-useful-go-frameworks-in-2019-2ob5
PREV
远程办公时保持高效的 9 个技巧
NEXT
远程开发人员的 5 项重要软技能