Go 1.26 新特性前瞻:从 Green Tea GC 到语法糖 new(expr),性能与体验的双重进化

本文永久链接 – https://tonybai.com/2025/12/16/go-1-26-foresight 大家好,我是Tony Bai。 随着2025年11月末 Go 1.26 开发分支的功能冻结(Feature Freeze),这份预计于 2026 年初发布的版本终于揭开了神秘面纱。 ...

December 16, 2025 · 12 min · Tony Bai

Go 也开始“叛逆”了?深度解读 JetBrains 2025 报告:为何“原生信仰”不再是唯一答案

本文永久链接 – https://tonybai.com/2025/11/14/the-go-ecosystem-in-2025 大家好,我是Tony Bai。 Go 语言迎来了它的第 16 个年头。从一个旨在解决 Google 内部工程效率问题的项目,成长为拥有超过 500 万开发者的全球性技术力量,16 岁的 Go 已然进入了一个成熟、稳健的“少年时代”。 ...

November 14, 2025 · 6 min · Tony Bai

Go团队成员的忠告:在你的API变得无法挽回之前,必须掌握的四条原则

本文永久链接 – https://tonybai.com/2025/09/24/evolving-your-go-api 大家好,我是Tony Bai。 你在 package 中导出的每一个 func 和 type,都是一份对用户的承诺。然而,变化是软件开发中唯一不变的真理。当需求变更、bug 修复、甚至认知升级时,你将如何修改这份“承诺”,同时又最大限度地减少对你和你的用户造成的破坏? ...

September 24, 2025 · 9 min · Tony Bai

“我们放弃了”——Go 团队坦诚布公,聊聊那些可能永远不会加入 Go 的功能

本文永久链接 – https://tonybai.com/2025/09/22/go-team-gave-up-on-features 大家好,我是Tony Bai。 在 GopherCon Europe 2025 的 Go 团队座谈会上,Michael Stapelberg(负责go protobuf)、Damien Neil(负责Go安全相关)、Michael Pratt(负责Go运行时和Go性能相关) 和 Jonathan Amsterdam(log/slog作者,负责Go工具相关) 四位核心成员与社区进行了一场坦诚的对话。他们不仅分享了诸如官方 MCP SDK、“裸金属”Go 等激动人心的进展,更以一种罕见的坦率,正面回应了社区长期以来关心的多个“老大难”问题——包括不可变类型、泛型错误处理和非 nil 指针。其中最引人注目的一句“我们放弃了”,几乎为 Go 语言在某些方向上的演进画上了句号。 ...

September 22, 2025 · 10 min · Tony Bai

持续性能分析正在成为继Metrics、Logs 和 Traces之后,可观测性的“第四大支柱”

本文永久链接 – https://tonybai.com/2025/08/04/continuous-profiling-fourth-pillar 大家好,我是Tony Bai。 凌晨两点,运维平台的警报刺破了宁静。P99 延迟飙升,用户服务几近瘫痪。作为 Go 工程师,你的脑海中闪过无数可能:是数据库慢了?是下游服务超时?还是某个新上线的 goroutine 泄露了?你急忙打开监控面板,Metrics (指标) 显示 CPU 和内存平稳,Logs (日志) 没有明显异常,Traces (追踪) 只告诉你请求在服务内部耗费了大量时间,却不知所踪。这个场景,是现代软件运维中一个令人沮丧的“最后一公里”难题。 ...

August 4, 2025 · 7 min · Tony Bai

云原生时代,如何用RED三板斧搞定服务监控?

云原生时代,如何用RED三板斧搞定服务监控? - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

May 26, 2025 · 8 min · Tony Bai

Go开发者必知:五大缓存策略详解与选型指南

本文永久链接 – https://tonybai.com/2025/04/28/five-cache-strategies 大家好,我是Tony Bai。 在构建高性能、高可用的后端服务时,缓存几乎是绕不开的话题。无论是为了加速数据访问,还是为了减轻数据库等主数据源的压力,缓存都扮演着至关重要的角色。对于我们 Go 开发者来说,选择并正确地实施缓存策略,是提升应用性能的关键技能之一。 ...

April 28, 2025 · 8 min · Tony Bai

拯救你的Commit Log:Conventional Commits实践指南

拯救你的Commit Log:Conventional Commits实践指南 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

April 24, 2025 · 8 min · Tony Bai

Go testing包将迎来新增强:标准化属性与持久化构件API即将落地

Go testing包将迎来新增强:标准化属性与持久化构件API即将落地 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

April 7, 2025 · 10 min · Tony Bai

从简单到强大:再次探索Caddy服务器的魅力

本文永久链接 – https://tonybai.com/2024/11/07/exploring-caddy Go语言诞生十多年来,社区涌现出众多优秀的Web服务器和反向代理解决方案。其中,最引人注目的无疑是Caddy和Traefik。这两者都为开发者和系统管理员提供了更简单、更安全的现代化Web服务器和反向代理部署选项。尽管它们的目标略有不同,Caddy最初旨在满足开发者快速搭建反向代理的需求,特别关注配置的简易性,并在后期增加了自动HTTPS和全面的API支持;而Traefik则更强调云原生架构,适合基于微服务的应用,尤其是使用Docker或Kubernetes部署的场景,提供动态服务发现和灵活的路由能力。 我于2015年首次体验了开源发布的Caddy,其超简单的配置确实给我留下了深刻的印象。之后也一直关注着Caddy的发展,Caddy在支持通过ACME协议自动为服务的域名获取免费HTTPS证书的功能后,Caddy就被我部署在自己的VPS上,为Gopher Daily等站点提供反向代理服务,运行十分稳定。Caddy这一为域名自动获取免费HTTPS证书的功能是其简化站点部署初衷的延续,也为Caddy赢得的广泛的用户和赞誉,并且这一特性不仅使得Caddy在个人项目和小型部署中大受欢迎,也让它在企业级应用中占有一席之地。 ...

November 7, 2024 · 22 min · Tony Bai