本周带来 Go 生态多项更新:GoReleaser 扩展至 Node.js,chi、wazero、Buf 等核心工具发布新版本。另有从 Go 迁移到 Rust 的深度思考、纯 SQL 零膨胀 Postgres 队列 PgQue,以及终端颜色库 gookit/color 和字体打印工具 Figurine 推荐。
🔥 头条
从 Go 迁移到 Rust
作者承认自己"不太喜欢 Go",并论证了从 Go 迁移到 Rust 的理由,同时也花大量篇幅承认 Go 做得更好的地方。他诚实的论述方式让他的技术观点(有很多)更有说服力。
🛠 工具
gookit/color:终端颜色渲染库
fatih/color 是此类需求的首选库,但 Gookit 的实现更加全面,支持类 HTML 样式标签、256 色、十六进制颜色码,以及针对特定输出类型(如调试级别)的主题。
PgQue:纯 SQL + PL/pgSQL 的零膨胀 Postgres 队列
一个基于纯 SQL 的零膨胀队列系统,更像 Kafka 而非典型的作业队列。它有一个 Go 驱动,现已支持协作式消费者,因此多个工作线程可以共享一个逻辑消费者游标并并行处理工作负载。
Figurine:用风格化方式打印名称的 Go 应用
本期结尾的小乐趣。也许可以在你的 dot 文件或脚本中使用。令人惊讶的是,它自带 276 种字体可供选择。
GoReleaser 2.16
这款流行的发布工具的应用范围已远远超出 Go,现已添加 Node.js 单可执行文件应用支持。
chi 5.3
用于构建 HTTP 服务的轻量级可组合路由器。
tldx 1.4
域名可用性研究工具。1.4 版本新增了 MCP 服务器。
wazero 1.12
用 Go 编写的零依赖 WebAssembly 运行时。
Buf 1.70
现代 Protobuf 工具链。