再见样板代码!Go 官方新提案:函数一键转接口

本文永久链接 – https://tonybai.com/2026/06/02/no-more-boilerplate-go-proposal-function-to-interface-conversion 大家好,我是Tony Bai。 在 Go 语言日常开发中,有一个设计几乎人人写过,但写多了又让人觉得极其繁琐、甚至有些“脱裤子放屁”的样板代码。 假设你需要一个只读数据的 io.Reader,但它的行为非常简单(比如只是为了在测试里模拟数据),你通常需要这样写: ...

June 2, 2026 · 7 min · Tony Bai

C++ 社区内部大讨论:新特性到底是“生产力革命”,还是“叠加的复杂性”?

本文永久链接 – https://tonybai.com/2026/04/15/cpp-community-debate-productivity-revolution-vs-complexity 大家好,我是Tony Bai。 如果你把编程语言比作工具,Go 是一把极简的手术刀,精准且克制;Rust 是一套带智能传感器的外骨骼装甲,严苛且安全。 ...

April 15, 2026 · 8 min · Tony Bai

当 Go 还在追求极简时,C++ 26 却又加了四大“史诗级”新特性

本文永久链接 – https://tonybai.com/2026/03/31/go-minimalism-vs-cpp26-epic-new-features 大家好,我是Tony Bai。 在这个 Go、Zig 等“小而美”新语言颇受青睐的时代,如果你去技术社区里问一句:“C++ 这门语言怎么样?” 你大概率会得到一堆充满戏谑的回答:“太复杂了,别学”、“从入门到放弃”、“面试造火箭,工作拧螺丝”。 ...

March 31, 2026 · 7 min · Tony Bai

Go 泛型落地 4 年后,终于要支持泛型方法了!

本文永久链接 – https://tonybai.com/2026/01/24/go-generics-finally-supports-generic-methods 大家好,我是Tony Bai。 “我们预计 Go 永远不会添加泛型方法。” —— Go FAQ (曾几何时) 对于许多期待 Go 泛型能像 C++ 或 Java 那样强大的开发者来说,这句话曾像一盆冷水。然而,就在最近,Go 语言之父之一、核心团队成员 Robert Griesemer 提交了一份重量级提案 #77273,正式建议为 Go 添加泛型方法 (Generic Methods) 的支持。 ...

January 24, 2026 · 7 min · Tony Bai

Go 安全新提案:runtime/secret 能否终结密钥残留的噩梦?

本文永久链接 – https://tonybai.com/2025/12/05/proposal-runtime-secret 大家好,我是Tony Bai。 “如果你的服务器被攻破,攻击者能否拿到内存中残留的私钥,进而解密过去两年的所有通信记录?” 这是一个让所有安全工程师夜不能寐的问题。为了防止这种情况,现代加密协议(如 TLS 1.3, WireGuard)都强调前向保密 (Forward Secrecy):使用临时的、一次性的密钥,并在使用后立即销毁。 ...

December 5, 2025 · 6 min · Tony Bai

Go 2025云原生与可观测年度报告:底层性能革新与生态固防

本文永久链接 – https://tonybai.com/2025/12/03/go-2025-cloud-native-observability-report 大家好,我是Tony Bai。 2025年,对于 Go 语言和云原生生态来说,是充满挑战与变革的一年。 凭借务实的并发模型、极快的编译速度和极简的部署体验,Go 语言在过去十年间毫无争议地坐稳了现代云原生基础设施的“铁王座”。从 Kubernetes 到 Docker,从 Prometheus 到 etcd,CNCF 生态中那些最耀眼的明星项目,几乎都流淌着 Go 的血液。 ...

December 3, 2025 · 10 min · Tony Bai

告别懵圈:实战派 Gopher 的类型理论入门

本文永久链接 – https://tonybai.com/2025/10/30/type-theory-intro-for-gopher 大家好,我是Tony Bai。 你是否曾有过这样的经历:在浏览一个关于 Go 泛型或接口设计的 GitHub issue 或技术提案时,评论区里的大佬们突然开始讨论 “Sum Type”、“Product Type”、“Parametric Polymorphism” 或是 “Higher-Kinded Types”。一瞬间,你感觉自己仿佛闯入了一个学术研讨会,这些看似熟悉又陌生的词汇让你一头雾水,只想默默关掉页面。 ...

October 30, 2025 · 21 min · Tony Bai

Go语言中的深拷贝:概念、实现与局限

本文永久链接 – https://tonybai.com/2024/09/28/understand-deep-copy-in-go 前不久,在“Gopher部落”知识星球上回答了一个Gopher关于深拷贝(Deep Copy)的问题,让我感觉是时候探讨一下深拷贝技术了。 在日常开发工作中,深拷贝的使用频率相对较低,可能有80%的时间不需要使用深拷贝,只有在特定情况下才会遇到。这主要是因为大多数开发中处理的对象比较简单,通常只需使用浅拷贝(Shallow Copy)就能满足需求;此外,多数时候我们需要共享状态或数据,使用浅拷贝可以方便多个部分访问同一数据;最后,深拷贝通常比浅拷贝耗时更多,尤其是当对象嵌套较深时。因此,开发者倾向于选择更高效的浅拷贝。 ...

September 28, 2024 · 17 min · Tony Bai

Go未用代码消除与可执行文件瘦身

本文永久链接 – https://tonybai.com/2024/05/05/dead-code-elimination-and-executable-file-slimming-in-go 在日常编写Go代码时,我们会编写很多包,也会在编写的包中引入了各种依赖包。在大型Go工程中,这些直接依赖和间接依赖的包数目可能会有几十个甚至上百个。依赖包有大有小,但通常我们不会使用到依赖包中的所有导出函数或类型方法。 ...

May 5, 2024 · 8 min · Tony Bai

Service Weaver:以单体形式编码,以微服务形式部署

本文永久链接 – https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices 分布式应用的主流架构模式演化为微服务架构已经有些年头了。微服务、DevOps、持续交付和容器技术(k8s)是构成最初云原生概念的核心要素。它们相生相拌,共同演进,并推动了云计算全面进入云原生时代。 云原生应用普遍采用微服务架构,遗留的单体应用程序会逐步演进并拆分为多个微服务,新应用则会直接采用微服务架构进行设计与实现。微服务的好处是显而易见的: ...

October 9, 2023 · 24 min · Tony Bai