Web Analytics

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 标准库提供一个“Must” 函数?社区关于“断言式初始化”的思考

本文永久链接 – https://tonybai.com/2025/10/07/proposal-must-do 大家好,我是Tony Bai。 if err != nil 不仅是 Go 代码中最常见的片段,更是其错误处理哲学的基石。它强制开发者在每一个可能出错的地方,都必须直面失败的可能性。然而,当一个错误在理论上可能发生,但在实践中(尤其是在处理静态、已知的常量时)又“不可能”发生时,这种严谨性是否就变成了一种冗余的样板代码? 这种在便利性与哲学纯粹性之间的张力并非新生事物。Go 标准库自身,就在特定场景下为我们提供了“捷径”。例如,text/template 包就提供了一个 Must 函数: ...

October 7, 2025 · 6 min · Tony Bai

Go语言的“灵魂拷问”:接口只关乎行为,还是也应拥抱数据?

本文永久链接 – https://tonybai.com/2025/08/27/go-interface-embrace-data 大家好,我是Tony Bai。 在 Go 语言的世界里,接口(interface)一直被视为其设计哲学的基石之一——它只关心一个类型能做什么(行为),而不关心它是什么(结构)。这种基于方法集的鸭子类型,赋予了 Go 独一无二的灵活性和解耦能力。然而,随着 Go 1.18 泛型的到来,一个深刻的问题被摆上了台面:当我们需要编写对数据的结构而非行为具有通用性的代码时,现有的约束机制是否足够? ...

August 27, 2025 · 7 min · Tony Bai

解读“Cheating the Reaper”:在Go中与GC共舞的Arena黑科技

解读“Cheating the Reaper”:在Go中与GC共舞的Arena黑科技 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

May 6, 2025 · 8 min · Tony Bai

Go泛型真的要来了!最早在Go 1.17版本支持

Go官博今晨发表了Go核心团队两位大神Ian Lance Taylor和Go语言之父之一的Robert Griesemer撰写的文章“The Next Step for Generics”,该文介绍了Go泛型(Go Generics)的最新进展和未来计划。 ...

June 18, 2020 · 13 min · Tony Bai