Go周刊2026W36 | Go 1.27.1 发布、TinyGo 0.42、HTTP/2 原生迁入 net/http、quic-go 0.62

Go 1.27 新增 goroutineleak profile,json/v2 基准有喜有忧;TinyGo 0.42 支持 recover 与 UEFI,HTTP/2 原生迁入 net/http。

📢 Go 官方

Go 1.27.1

Go 1.27.1 修复了 cgo、编译器、运行时、go fix 命令,以及 database/sql、debug/elf、encoding/json、net/http、os、simd 和 simd/archsimd 等包的问题。详情请查看我们 issue 追踪器上的 Go 1.27.1 milestone。

Go 1.26.8

Go 1.26.8 修复了 cgo、编译器、运行时,以及 debug/elf 和 os 包的问题。详情请查看我们 issue 追踪器上的 Go 1.26.8 milestone。

🔥 头条

Go 1.27 现在能找出泄漏的 goroutine

Go 1.27 新增了 goroutineleak profile,可以定位那些永久阻塞在 channel 或同步原语上的 goroutine,即使在生产环境中也能使用。它复用了垃圾回收的可达性追踪,精度相当高。对一个 Go 特性来说很不寻常的是,它最初源自一篇学术论文(Vlad 是第一作者)。

📖 文章

Go 内置 map 中的 Swiss Table 是如何工作的

如果你曾好奇在 Go 里写下 mkey = value 时底层到底发生了什么,这篇图解导览把自 1.24 起启用的 Swiss Table 实现讲得非常出色。它同时还介绍了 1.27 的 mapsplitgroup 实验,该实验在内存中把键与值分开存放。

新的 Go JSON API:快一倍,还是慢 1.5 倍?

这是对 Go 1.27 的 JSON 包(包括 encoding/json/v2)做的一次快速基准测试。使用 v2 时反序列化更快,但 Daniel 发现对结构体切片做序列化反而慢了 1.5 倍,这与发布说明中的性能说法相悖。

用 AI Agent 把 Node.js 服务重写成 Go

一个十足属于 2026 年的故事:一夜之间完成整个迁移,重点在于把 agentic engineering 这件事做对------比如先搭建一套扎实的测试脚手架。

📝 简讯

Russ Cox 称前沿大模型"更出色且快得多"

Russ Cox 表示,在发现和修复 Go bug 这件事上,前沿大模型比他"更出色且快得多",并公开了 agent 对话记录作为佐证。(他还提到自己已经不在 Google 了。)

把 HTTP/2 原生搬进 net/http 的漫长努力

把 HTTP/2 原生移入 net/http 这项长期工程已被 Damien Neil 标记为"已完成",x/net/http2 则走向弃用。

📦 版本

TinyGo 0.42:recover 可用了,Go 还能启动你的电脑

面向微控制器与 WebAssembly 的 Go 编译器迎来一次重大更新:如今它能像标准 Go 那样从运行时 panic(比如空指针解引用)中 recover。同时还带来了 Go 1.27 支持,并且颇为新奇地加入了(早期形态的)UEFI 目标,让 Go 代码能在操作系统启动之前就跑起来。

purego 0.11:不用 cgo 也能从 Go 调用 C 函数

它源自把 Ebitengine 从 cgo 上移植出去的工作,让你能 Dlopen 一个共享库,并把 C 函数注册成 Go 函数。v0.11 要求 Go 1.25+,但新增了 Windows、Android 和 iOS 上的结构体传参,并支持在回调函数中使用结构体。

automemlimit 1.0:让 GOMEMLIMIT 匹配 cgroups

只要空导入这个包,GOMEMLIMIT 就会被设为 Linux cgroups(7) 内存上限的 90%。注意,如果你是现有用户,这次的 API 有破坏性变更。

AWS Lambda for Go 1.55

AWS 官方用于编写 Go 语言 Lambda 函数的库改进了 Go 1.27 兼容性,现在要求 Go 1.26+。

GoReleaser 2.18

这款发布自动化工具新增了 GitHub Actions 中的预检(preflight)检查与发布摘要。

quic-go 0.62

纯 Go 实现的 QUIC 与 HTTP/3,现已支持 RFC 9218 流优先级。

Miniredis 2.39

面向单元测试的纯 Go Redis 服务器,新增 GEOSEARCH 与哈希字段 TTL 支持。

MCP-Go 1.0

Model Context Protocol(MCP)的 Go 实现。

Notify 1.6

用一套 API 向众多服务发送通知。

fq 0.18

用类 jq 的语言解码和查询二进制文件。

bluetooth 0.16

面向 Go 与 TinyGo 的蓝牙低功耗(BLE)API。


往期精选


阅读原文

相关推荐
莫得感情 o8 小时前
Redis 09 · 高可用:Sentinel 如何发现故障并完成切主
redis·缓存·sentinel
考虑考虑9 小时前
Redis8.8新特性
运维·redis·后端
承渊政道9 小时前
星空组网真实体验:Mac远程访问Ubuntu,SSH与HTTP全流程验证
ubuntu·http·macos·ssh·服务器管理·星空组网
大树919 小时前
把 Java 项目从手动 SCP 升级到 Gitee Go 自动部署:一份踩坑实录
java·golang·gitee
lmy_loveF10 小时前
go 切换go version 版本
开发语言·后端·golang
tryxr11 小时前
Redis 的背景知识
数据库·redis·缓存
智购科技自动贩卖机11 小时前
自动售货机嵌入式系统安全加固实践:从Go语言国密算法到硬件防拆的工程化落地
大数据·人工智能·后端·安全·golang·系统安全
莫得感情 o11 小时前
Redis 08 · 主从复制:全量同步、增量同步与复制延迟
redis·缓存
BUG指挥官12 小时前
Redis已接入AI
数据库·人工智能·spring boot·redis·spring cloud