| #623 — 2026年11月6日 阅读网页版 与 Go Weekly 一起 The Official Guide to encoding/json/v2(及其迁移)——既然 encoding/json/v2 和 jsontext 已稳定,Go 团队提供了关于它们工作方式的全新介绍,包括 v1 和 v2 如何互操作。还有一份新的迁移指南,展示了如何用 jsonsplit 在生产环境中并行运行 v1 和 v2,并记录任何差异。Pratt、Tsai、Martí 等(Go 团队)💡 Lleg 对 v2 进行了测试,发现了九项默认行为变化、普通结构体的反序列化速度提升 10%,以及深度递归自定义解码器的性能大幅提升。当 Pod 重启时,你的 go func() 会怎样?——它当时在做的事情都没了:你会丢失正在发送的邮件或 webhook 调用。Go Event-Driven,由 Watermill 作者打造的手把手培训,从 goroutine 开始,到数据能在重启后存活的 Go 服务结束。不要错过今年最后一期,11 月 11 日开课。Three Dots Labs 赞助 //go:embed 如何工作:从源文件到二进制——一次关于嵌入文件如何穿过工具链的引导之旅,每一步都附有 Go 源码链接。在此过程中,我们了解到为什么需要 import _ "embed",即使你从未引用该包。Ainsley Clark 简讯:Go 1.28 发布说明草稿现在列出了两项新的 go vet 检查,分别针对未检查的 bufio.Scanner 和 sql.Rows 错误,还包含一个 FlagSet.All 迭代器、url.MustParse 以及对子进程的 Landlock 支持。该版本计划于 2027 年 2 月发布。🔐 Go 1.27.4 和 1.26.11 将于 11 月 10 日发布,包含对标准库和工具链的安全修复,覆盖十二个 CVE(对于一个次要版本来说很多了)。React 框架 Next.js 已在其“canary”构建中添加了实验性的 route.go 处理器,你可以在 route.go 文件中编写普通的 net/http 风格 GET/POST 函数,Next.js 会将它们作为路由提供服务。继上个月接受的在没有 C 工具链的情况下构建 cgo 代码的实验之后,一个正在审查中的 CL 在所有剩余的操作系统上用 Go 和汇编重新实现了 runtime/cgo,并完全移除了 C 代码。提案更新:maps.Grow 已被接受,可能会进入 Go 1.28。Redowan Delowar 解释了它为什么有用。unicode/ascii,一个仅限 ASCII 的字符串函数包,泛型化支持字符串和字节切片,已被提议,命名是一个症结。runtime/bubble,来自两位 Temporal 工程师,将建立在 testing/synctest 的 bubbles 之上,让宿主程序能够确定性地运行 goroutine、channel 和 select。math/decimal,一个带有显式舍入模式的任意精度十进制类型,已被提议,并已附带实现。Go 的泛型集合提案已被接受——我们在 7 月报道了初始计划,但现在这个总括提案已被接受,连同 set.Set 以及基于哈希的 Map 和 Set 类型。它们将首先落地在 golang.org/x/exp/collection。Go 团队 Go 的 GC 在 192 核上可能撞墙——我怀疑我们中很少有人使用如此庞大的系统,但在 192 核的 amd64 主机上,堆触发的 GC 周期可能延长 3-4 倍,因为空闲核心堆积在共享的无锁栈上。arm64 已经有针对此问题的缓解措施,修复正在审查中。Nate Watson 等 你的 Go 服务准备好迎接 AI 智能体了吗?运行免费的 POKE 审计——一个免费的智能体技能,可审计你的 Go 服务,并给出添加事件日志、SSE 和 webhook 的最小步骤。Svix 赞助 📄 Go 测试中的 MustCreate 模式——如何用通用的 MustCreate(t, NewUsername, "joe123") 替代一堆按类型编写的测试辅助函数。Michael Lynch 📄 堆分析指向了一个我没写的函数——alloc_space 衡量的是分配周转量,inuse_space 衡量的是仍存活的内存,它们可能指向不同的分配热点。Nolan Keir 📄 在 Go 1.28 中用 Landlock 沙箱化子进程——Go 1.28 将如何让在 Linux 上限制子进程变得更容易。Mohammad Abdolirad 📄 五个值得尝试的 Go 练习——选自 practice-go 挑战集,每个都有解答讲解。Alex Pliutau 🛠 代码与工具 GoLand
Go 团队详解 Go 新的 JSON API
2026.3:编码智能体进入 Go IDE —— JetBrains Air 是一个在 IDE 内运行现有终端编码智能体(如 Claude 或 Codex)的系统,现已纳入 JetBrains 的 Go IDE。重新设计的 Home 窗口和 Git worktree 改进完善了本次发布。Artem Pronichev(JetBrains) go-yaml v4:在 YAML 组织下的首个稳定版本 —— 已归档的 gopkg.in/yaml.v3 现在有了稳定的继任者,新增了接受选项的 Load 和 Dump 函数、插件系统以及调试 CLI。Dump 的格式化默认值不同于 Marshal,v2 和 v3 现在仅获得安全修复。YAML 组织 🔎 Betterleaks:来自 Gitleaks 创建者的机密扫描器 —— Gitleaks 的创建者不再控制该项目,因此这是它的继任者,用 Go 编写。它扫描 Git 历史、GitHub/GitLab 组织、S3 和容器镜像,并能检查发现的密钥是否仍然有效。Zach Rice 等 Fanout:一个单二进制的 Go OpenTelemetry 后端 —— 来自 Echo 的创建者:OTLP 输入,Parquet 存于磁盘,DuckDB 用于查询,全部在一个 Go 二进制中。它处于 alpha 阶段,但对于较小的配置,可能是完整可观测性栈的一个有吸引力的替代方案。GitHub 仓库。Vishal Rana 📰 分类广告 用纯 database/sql 进行十亿行分析:TimescaleDB 扩展了 Postgres,因此你的 Go 代码无需更改。获得 $1000 信用额度。WarpBuild 为 CI 提供优化硬件和快速 Golang 缓存。成本减半。使用代码 START50 获得 $50 免费信用额度。🔒 pgx 5.12 – 该 Postgres 驱动修复了简单协议批处理中的 SQL 注入和 require_auth 绕过。它还增加了批量事务启动、客户端证书策略控制以及按查询的批量计时。Wails 3.1 – 在上周重大 3.0 发布之后的更新,包含修复、性能改进以及实验性的无 cgo 的 macOS 和 Linux 后端。🤖 ADK for Go 2.7 – Google 的智能体工具包将 Claude 添加为一等(实验性)模型选项,并添加了用于工作流路由的实验性分类器。Excelize 2.11.1 – 该电子表格读写库处理了 16 个 CVE,主要是在恶意输入下的崩溃和失控分配,现在要求 Go 1.26+。Ginkgo 2.34 – 该 BDD 风格测试框架新增了 DeferOnFailure,用于在拆卸破坏状态之前捕获状态。| #623 — 2026 年 11 月 6 日 | 阅读网页版 | 与合作方 | 与合作方 | | | Go Weekly | | encoding/json/v2 官方指南(及迁移到它) —— 既然 encoding/json/v2 和 jsontext 已经稳定,Go 团队提供了一份更新的介绍,说明它们如何工作,包括 v1 和 v2 如何互操作。还有一份新的迁移指南,展示了如何使用 jsonsplit 在生产中并排运行 v1 和 v2 并记录任何差异。Pratt、Tsai、Martí 等(Go 团队) | 💡 Lleg 对 v2 进行了测试,发现了九项默认行为变化、普通结构体上反序列化速度提高 10%,以及深度递归自定义解码器的巨大性能提升。| 当 Pod 重启时,你的 go func() 会发生什么? —— 无论它在做什么都消失了:你会丢失正在发送的电子邮件或 webhook 调用。Go Event-Driven,来自 Watermill 作者们的实践培训,从 goroutine 开始,到数据在重启后幸存的 Go 服务结束。不要错过今年 11 月 11 日开班的最后一期。Three Dots Labs 赞助 | //go:embed 如何工作:从源文件到二进制 —— 一次引导之旅,展示嵌入文件如何经过工具链,并附有每个步骤的 Go 源码链接。在此过程中,我们了解到为什么即使你从未引用该包,也需要 import _ "embed"。Ainsley Clark | 简讯:Go 1.28 发布说明草案现在列出了两项新的 go vet 检查,分别针对未检查的 bufio.Scanner 和 sql.Rows 错误,一个 FlagSet.All 迭代器,url.MustParse 以及对子进程的 Landlock 支持。该版本目标为 2027 年 2 月。🔐 Go 1.27.4 和 1.26.11 将于 11 月 10 日发布,包含对标准库和工具链的安全修复,覆盖十二个 CVE(对于次要版本来说很多)。React 框架 Next.js 已添加(在其 '
Go 团队解释 Go 的新 JSON API
canary' build)实验性 route.go handlers,你可以在 route.go 文件中编写普通 net/http 风格的 GET/POST 函数,Next.js 会将它们作为路由提供服务。继上月被接受的、无需 C 工具链即可构建 cgo 代码的实验之后,一个正在审查中的 CL 用 Go 和汇编在其余所有 OS 上重新实现了 runtime/cgo,并完全移除了 C 代码。| PROPOSAL UPDATES:maps.Grow 已被接受,可能会进入 Go 1.28。Redowan Delowar 解释了它为何有用。unicode/ascii,一个仅含 ASCII 的字符串函数包,对 strings 和 byte slices 泛型化,已被提议,命名是一个症结。runtime/bubble,来自两位 Temporal 工程师,将构建在 testing/synctest 的 bubbles 之上,让宿主程序能够确定性地运行 goroutines、channels 和 select。math/decimal,一个具有显式舍入模式的任意精度 decimal 类型,已被提议并已附上实现。| Go 的泛型集合提案已被接受——我们在七月报道了初始计划,但现在这个总括提案已被接受,连同 set.Set 以及基于哈希的 Map 和 Set 类型。它们将首先落地在 golang.org/x/exp/collection。The Go Team | Go 的 GC 在 192 核上可能撞墙——我怀疑我们中很少有人使用如此庞大的系统,但在 192 核的 amd64 主机上,堆触发的 GC 周期可能耗时延长 3-4 倍,因为空闲核心堆积在一个共享的无锁栈上。arm64 已有针对此的缓解措施,修复正在审查中。Nate Watson 等 | 你的 Go 服务准备好迎接 AI Agents 了吗?运行免费的 POKE 审计——一个免费的 agent skill,审计你的 Go 服务并给出添加事件日志、SSE 和 webhooks 的最小步骤。Svix 赞助 | 📄 Go 测试的 MustCreate 模式——一个泛型的 MustCreate(t, NewUsername, "joe123") 如何能替代一堆按类型编写的测试辅助函数。Michael Lynch 📄 堆分析指向了一个我没写的函数——alloc_space 衡量变动,inuse_space 衡量仍然存活的,这可能指向不同的分配热点。Nolan Keir 📄 在 Go 1.28 中用 Landlock 沙箱化子进程——Go 1.28 如何让在 Linux 上限制子进程变得更容易。Mohammad Abdolirad 📄 五个值得尝试的 Go 练习——选自 practice-go 挑战合集,每个都有解答演练。Alex Pliutau | 🛠 代码与工具 | | GoLand 2026.3:编码 agent 进入 Go IDE——JetBrains Air 是一个在 IDE 内运行现有终端编码 agent(如 Claude 或 Codex)的系统,现在已包含在 JetBrains 的 Go IDE 中。重新设计的 Home 窗口和 Git worktree 改进完善了本次发布。Artem Pronichev(JetBrains) | go-yaml v4:YAML 组织下的首个稳定版本——已归档的 gopkg.in/yaml.v3 现在有了稳定的继任者,添加了接受选项的 Load 和 Dump 函数、插件系统和调试 CLI。Dump 的格式化默认值与 Marshal 的不同,且 v2 和 v3 现在仅获得安全修复。The YAML Organization | 🔎 Betterleaks:来自 Gitleaks 创建者的密钥扫描器——Gitleaks 的创建者不再控制该项目,因此这是它的继任者,用 Go 编写。它扫描 Git 历史、GitHub/GitLab 组织、S3 和容器镜像,并能检查发现的密钥是否仍然有效。Zach Rice 等 | Fanout:一个用 Go 编写的单二进制 OpenTelemetry 后端——来自 Echo 的创建者:OTLP 输入,Parquet 落盘,DuckDB 查询,全部在一个 Go 二进制中。它处于 alpha 阶段,但对于较小规模的部署,可能是完整可观测性栈的一个有吸引力的替代方案。GitHub 仓库。Vishal Rana | 📰 分类广告 用普通 database/sql 进行十亿行分析:TimescaleDB 扩展 Postgres,所以你的 Go 代码无需改变。获取 $1000 额度。WarpBuild 为 CI 提供优化的硬件和快速的 Golang 缓存。成本减半。使用代码 START50 获取 $50 免费额度。| | 📰 分类广告 | 用普通 database/sql 进行十亿行分析:TimescaleDB 扩展 Postgres,所以你的 Go 代码无需改变。获取 $1000 额度。WarpBuild 为 CI 提供优化的硬件和快速的 Golang 缓存。
半价。使用优惠码 START50 可获得 50 美元免费额度。 | | 🔒 pgx 5.12 – 这个 Postgres 驱动修复了简单协议批次中的 SQL 注入以及 require_auth 绕过问题。它还新增了批量事务启动、客户端证书策略控制,以及按查询统计的批次耗时。Wails 3.1 – 在上周重要的 3.0 版本发布之后的一次更新,包含修复、性能改进,以及实验性的无 cgo 的 macOS 和 Linux 后端。🤖 ADK for Go 2.7 – Google 的 agent 工具包将 Claude 添加为一方的(实验性)模型选项,并新增用于工作流路由的实验性分类器。Excelize 2.11.1 – 这个电子表格读写库处理了 16 个 CVE,主要是恶意输入导致的崩溃和失控的内存分配,并且现在要求 Go 1.26+。Ginkgo 2.34 – 这个 BDD 风格的测试框架新增了 DeferOnFailure,用于在 teardown 破坏状态之前捕获状态。 | |
| #623 — 2026 年 11 月 6 日 | 阅读网页版 | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 联合呈现 | 联合呈现 | ||||||||||||||||||||||||||||||
| Go Weekly | |||||||||||||||||||||||||||||||
| encoding/json/v2 官方指南(以及如何迁移) — 既然 encoding/json/v2 和 jsontext 已经稳定,Go 团队提供了一份更新的介绍,说明它们如何工作,包括 v1 和 v2 如何互操作。还有一份新的迁移指南,展示了 jsonsplit,用于在生产环境中并排运行 v1 和 v2 并记录任何差异。Pratt、Tsai、Martí 等(Go 团队) | |||||||||||||||||||||||||||||||
| 💡 Lleg 对 v2 进行了测试,发现了九项默认行为变化、在普通 struct 上反序列化快 10%,以及深度递归的自定义解码器获得大幅性能提升。 | |||||||||||||||||||||||||||||||
| 当 Pod 重启时,你的 go func() 会发生什么? — 无论它当时在做什么,都消失了:你丢失了正在发送的邮件或 webhook 调用。Go Event-Driven,来自 Watermill 作者的实战培训,从 goroutine 开始,到数据能在重启后存活的 Go 服务结束。不要错过今年 11 月 11 日开班的最后一期。Three Dots Labs 赞助 | |||||||||||||||||||||||||||||||
| //go:embed 如何工作:从源文件到二进制 — 一次引导式的讲解,介绍嵌入文件如何穿过工具链,并附有每个步骤对应的 Go 源码链接。在此过程中,我们了解到为什么即使你从未引用该包,也需要 import _ "embed"。Ainsley Clark | |||||||||||||||||||||||||||||||
| 简讯:Go 1.28 发布说明草案现在列出了两项新的 go vet 检查,分别针对未检查的 bufio.Scanner 和 sql.Rows 错误,还列出了 FlagSet.All 迭代器、url.MustParse 以及对子进程的 Landlock 支持。该版本目标是在 2027 年 2 月发布。🔐 Go 1.27.4 和 1.26.11 将于 11 月 10 日发布,包含对标准库和工具链的安全修复,覆盖 12 个 CVE(对一个小版本来说很多了)。React 框架 Next.js 已在其 'canary' 构建中添加了实验性的 route.go 处理器,你可以在 route.go 文件中编写普通的 net/http 风格的 GET/POST 函数,Next.js 会将它们作为路由提供。继上个月被接受的关于在没有 C 工具链的情况下构建 cgo 代码的实验之后,一个正在审查中的 CL 用 Go 和汇编在每个其余操作系统上重新实现了 runtime/cgo,并完全移除了 C 代码。 |
| 提案更新:maps.Grow 已被接受,可能会进入 Go 1.28。Redowan Delowa
r 解释了它为什么有用。unicode/ascii 是一个仅提供 ASCII 字符串函数的包,对字符串和字节切片泛型化,已被提出,命名是症结所在。runtime/bubble 来自两位 Temporal 工程师,将基于 testing/synctest 的 bubbles 构建,让宿主程序能够确定性地运行 goroutine、channel 和 select。math/decimal 是一种具有显式舍入模式的任意精度十进制类型,已被提出,并且已经附带了实现。| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| Go 的泛型集合提案已被接受——我们在 7 月报道了初始计划,但现在这个总括提案已被接受,同时还有 set.Set 以及基于哈希的 Map 和 Set 类型。它们将首先进入 golang.org/x/exp/collection。Go 团队 | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Go 的 GC 在 192 核上可能撞墙——我怀疑我们中很少有人会在如此庞大的系统上工作,但在 192 核的 amd64 主机上,由于空闲核心堆积到共享的无锁栈上,堆触发的 GC 周期可能延长 3-4 倍。arm64 已经有针对此问题的缓解措施,修复正在审查中。Nate Watson 等 | |||||||||||||||||||||||||||||||
| 你的 Go 服务准备好迎接 AI Agent 了吗?运行免费的 POKE 审计——一个免费的 agent skill,可审计你的 Go 服务,并给出添加事件日志、SSE 和 webhook 的最小步骤。Svix 赞助 | |||||||||||||||||||||||||||||||
| 📄 Go 测试中的 MustCreate 模式——泛型 MustCreate(t, NewUsername, "joe123") 如何取代一堆按类型划分的测试辅助函数。Michael Lynch 📄 堆分析指向了一个我没写的函数——alloc_space 衡量的是流失量,inuse_space 衡量的是仍然存活的内容,这可能指向不同的分配热点。Nolan Keir 📄 在 Go 1.28 中用 Landlock 沙箱化子进程——Go 1.28 将如何让在 Linux 上限制子进程变得更容易。Mohammad Abdolirad 📄 五个值得尝试的 Go 练习——选自 practice-go 挑战合集,每个都附有解答讲解。Alex Pliutau | |||||||||||||||||||||||||||||||
| 🛠 代码与工具 | |||||||||||||||||||||||||||||||
| GoLand 2026.3:编码 Agent 进入 Go IDE——JetBrains Air 是一个用于在 IDE 内运行现有终端编码 Agent(如 Claude 或 Codex)的系统,现已包含在 JetBrains 的 Go IDE 中。重新设计的 Home 窗口和 Git worktree 改进让此次发布更加完整。Artem Pronichev(JetBrains) | |||||||||||||||||||||||||||||||
| go-yaml v4:YAML 组织下的首个稳定版本——已归档的 gopkg.in/yaml.v3 现在有了稳定的继任者,新增了接受选项的 Load 和 Dump 函数、插件系统以及调试 CLI。Dump 的格式默认值与 Marshal 不同,并且 v2 和 v3 现在只获得安全修复。YAML 组织 | |||||||||||||||||||||||||||||||
| 🔎 Betterleaks:来自 Gitleaks 创建者的密钥扫描器——Gitleaks 的创建者已不再控制该项目,所以这是它的继任者,用 Go 编写。它扫描 Git 历史、GitHub/GitLab 组织、S3 和容器镜像,并能检查发现的密钥是否仍然有效。Zach Rice 等 | |||||||||||||||||||||||||||||||
| Fanout:Go 中的单二进制 OpenTelemetry 后端——来自 Echo 的创建者:OTLP 输入,磁盘上的 Parquet,使用 DuckDB 进行查询,全部在一个 Go 二进制文件中。它还是 alpha 阶段,但对于较小的环境来说,可能是完整可观测性栈的一个有吸引力的替代方案。GitHub 仓库 。Vishal Rana | |||||||||||||||||||||||||||||||
📰 分类广告 用普通 database/sql 实现十亿行分析:TimescaleDB 扩展了 Postgres,因此你的 Go 代码无需更改。领取 $1000 信用额度 。WarpBuild 为 CI 提供优化的硬件和快速的 Golang 缓存。成本减半。使用代码 START50 领取 $50 免费信用额度 。 | | 📰 分类广告 | 用普通 database/sql 实现十亿行分析:TimescaleDB 扩展了 Postgres,因此你的 Go 代码无需更改。领取 $1000 信用额度 。WarpBuild 为 CI 提供优化的硬件和快速的 Golang 缓存。成本减半。使用代码 START50 领取 $50 免费信用额度 。 | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| 📰 分类广告 | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 用普通 database/sql 实现十亿行分析:TimescaleDB 扩展了 Postgres,因此你的 Go 代码无需更改。领取 $1000 信用额度 。WarpBuild 为 CI 提供优化的硬件和快速的 Golang 缓存。成本减半。使用代码 START50 领取 $50 免费信用额度 。 | |||||||||||||||||||||||||||||||
| 🔒 pgx 5.12 – 该 Postgres 驱动修复了 simple-protocol 批处理中的 SQL 注入以及一个 require_auth 绕过问题。它还新增了批量事务启动、客户端证书策略控制以及按查询的批处理计时。Wails 3.1 – 在上周重大 3.0 版本发布后的一次更新,包含修复、性能改进以及实验性的无 cgo 的 macOS 和 Linux 后端。🤖 ADK for Go 2.7 – Google 的 agent 工具包将 Claude 添加为一等(实验性)模型选项,并添加了用于工作流路由的实验性分类器。Excelize 2.11.1 – 这个电子表格读写库处理了 16 个 CVE,主要是恶意输入导致的崩溃和失控的内存分配,并且现在要求 Go 1.26+。Ginkgo 2.34 – 这个 BDD 风格的测试框架新增了 DeferOnFailure,用于在拆卸破坏状态之前捕获状态。 |
#623 — November 6, 2026
Read the Web Version


encoding/json/v2 官方指南(以及如何迁移到它)—— 既然 encoding/json/v2 和 jsontext 已经稳定,Go 团队重新发布了一份介绍它们工作方式的入门材料,其中也说明了 v1 与 v2 如何互操作。此外还有一份新的迁移指南,展示了如何用 jsonsplit 在生产环境中并行运行 v1 和 v2,并记录两者之间的任何差异。
Pratt、Tsai、Martí 等(Go 团队)
💡 Lleg 对 v2 做了实测,发现九处默认行为变化、普通结构体上的反序列化快了 10%,而深度递归的自定义解码器则有大幅性能提升。
当 Pod 重启时,你的 go func() 会怎样?—— 无论它当时在做什么,都已经消失了:你丢失了正在发送的邮件或正在发起的 webhook 调用。Go Event-Driven 是 Watermill 作者推出的实战培训,从 goroutine 讲起,最终落到数据能在重启后存活的 Go 服务。不要错过今年 11 月 11 日开课的最后一期。
Three Dots Labs 赞助
//go:embed 如何工作:从源文件到二进制 —— 一次带你走完被嵌入文件在工具链中的旅程,并附上每一步对应的 Go 源码链接。沿途我们还会了解到,为什么即使你从不引用该包,也需要写 import _ "embed"。
Ainsley Clark
- Go 1.28 的发布说明草稿现在列出了两项新的 go vet 检查,分别针对未检查的 bufio.Scanner 和 sql.Rows 错误,还包含一个 FlagSet.All 迭代器、url.MustParse,以及对子进程的 Landlock 支持。该版本计划于 2027 年 2 月发布。
- 🔐 Go 1.27.4 和 1.26.11 将于 11 月 10 日发布,包含针对标准库和工具链的安全修复,覆盖十二个 CVE(对一个小版本来说相当多)。
- React 框架 Next.js 已在其“canary”构建中加入实验性的 route.go 处理器:你可以在 route.go 文件里写普通的 net/http 风格 GET/POST 函数,Next.js 会把它们作为路由提供服务。
- 继上个月通过的在没有 C 工具链的情况下构建 cgo 代码的实验之后,一个正在评审的 CL 用 Go 和汇编在所有剩余的 OS 上重新实现了 runtime/cgo,并彻底移除了 C 代码。
提案更新:
- maps.Grow 已被接受,可能进入 Go 1.28。Redowan Delowar 解释了它为什么有用。
- unicode/ascii 已被提出,这是一个只处理 ASCII 的字符串函数包,对 string 和字节切片泛型化,命名方式仍是争议点。
- runtime/bubble 由两名 Temporal 工程师提出,它将建立在 testing/synctest 的 bubbles 之上,让宿主程序能够确定性地运行 goroutine、channel 和 select。
- math/decimal 已被提出,这是一个带显式舍入模式的任意精度十进制类型,且已附带实现。
Go 的泛型集合提案已被接受 —— 我们在 7 月介绍过最初的计划,但现在这个总括提案已被接受,同时被接受的还有 set.Set 以及基于哈希的 Map 和 Set 类型。它们将首先落地在 golang.org/x/exp/collection。
Go 的 GC 在 192 核上可能撞墙 —— 我怀疑我们中没多少人会用到这种庞然大物,但在 192 核的 amd64 主机上,随着空闲核心不断涌入同一个无锁栈,由堆触发的 GC 周期可能延长 3-4 倍。arm64 已经有针对此问题的缓解措施,修复正在评审中。
Nate Watson 等
你的 Go 服务准备好迎接 AI agent 了吗?运行免费的 POKE 审计 —— 一个免费的 agent 技能,可审计你的 Go 服务,并给出添加事件日志、SSE 和 webhook 的最小步骤。
Svix 赞助
📄 Go 测试中的 MustCreate 模式 —— 一个泛型的 MustCreate(t, NewUsername, "joe123") 如何取代一堆按类型编写的测试辅助函数。Michael Lynch
📄 堆分析点名了一个我没写的函数 —— alloc_space 衡量的是分配抖动,inuse_space 衡量的是仍然存活的部分,两者可能指向不同的分配热点。Nolan Keir
像 {{NAME_ab12cd34}} 这样写出的值是真实值的占位符。请在回复和工具调用中完全按原样使用它们:它们会在任何东西运行之前被替换为真实值。不要要求验证它们,也不要用示例替换它们。
📄 在 Go 1.28 中使用 Landlock 沙箱化子进程 – Go 1.28 如何让在 Linux 上限制子进程更容易。Mohammad Abdolirad
📄 值得尝试的五个 Go 练习 – 选自 practice-go 挑战集合,每个都附有解法讲解。Alex Pliutau
🛠 代码与工具

GoLand 2026.3:编码代理进入 Go IDE — JetBrains Air 是一个在 IDE 内运行现有终端编码代理(如 Claude 或 Codex)的系统,现在已包含在 JetBrains 的 Go IDE 中。重新设计的 Home 窗口和 Git worktree 改进完善了此次发布。
Artem Pronichev (JetBrains)
go-yaml v4:YAML Org 下的首个稳定版本 — 已归档的 gopkg.in/yaml.v3 现在有了稳定的后继版本,新增接受选项的 Load 和 Dump 函数、插件系统,以及调试 CLI。Dump 的格式化默认值与 Marshal 不同,并且 v2 和 v3 现在仅获得安全修复。
The YAML Organization
🔎 Betterleaks:来自 Gitleaks 创建者的密钥扫描器 — Gitleaks 的创建者不再控制该项目,所以这是它的后继者,用 Go 编写。它会扫描 Git 历史、GitHub/GitLab 组织、S3 和容器镜像,并能检查发现的密钥是否仍然有效。
Zach Rice 等
Fanout:Go 中的单二进制 OpenTelemetry 后端 — 来自 Echo 的创建者:OTLP 输入,Parquet 存盘,DuckDB 用于查询,全部在一个 Go 二进制文件中。它还是 alpha 阶段,但对于较小规模部署,可能是完整可观测性技术栈的一个有吸引力的替代方案。GitHub 仓库。
| 📰 分类广告 十亿行分析,使用普通 database/sql:TimescaleDB 扩展 Postgres,因此你的 Go 代码无需更改。获取 $1000 额度。WarpBuild 为 CI 提供优化的硬件和快速的 Golang 缓存。成本减半。使用代码 START50 获取 $50 免费额度。 | 📰 分类广告 | 十亿行分析,使用普通 database/sql:TimescaleDB 扩展 Postgres,因此你的 Go 代码无需更改。获取 $1000 额度。WarpBuild 为 CI 提供优化的硬件和快速的 Golang 缓存。成本减半。使用代码 START50 获取 $50 免费额度。 | |
|---|---|---|---|
| 📰 分类广告 |
| 十亿行分析,使用普通 database/sql:TimescaleDB 扩展 Postgres,因此你的 Go 代码无需更改