2025 Go 官方调查解读:91% 满意度背后的隐忧与 AI 时代的“双刃剑”
本文永久链接 – https://tonybai.com/2026/01/23/go-developer-2025-survey-result 大家好,我是Tony Bai。 近日,Go 官方发布了 2025 年开发者调查报告。作为 Go 社区的年度“体检报告”,这份基于 5,379 份有效问卷的数据,为我们勾勒出了一幅清晰的 Go 生态全景图。 ...
本文永久链接 – https://tonybai.com/2026/01/23/go-developer-2025-survey-result 大家好,我是Tony Bai。 近日,Go 官方发布了 2025 年开发者调查报告。作为 Go 社区的年度“体检报告”,这份基于 5,379 份有效问卷的数据,为我们勾勒出了一幅清晰的 Go 生态全景图。 ...
Go, Rust 还是 Zig?一场关于“简单”与“控制”的灵魂拷问 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
本文永久链接 – https://tonybai.com/2025/12/29/go-community-new-sum-type-end-interface-union-types 大家好,我是Tony Bai。 “Go 什么时候支持枚举?” “Go 什么时候有真正的联合类型?” 这可能是 Go 语言诞生以来,被问得最多的问题之一。现有的解决方案——无论是用 const 模拟枚举,还是用 interface{} 配合类型断言模拟联合类型——在类型安全、表达力和穷尽性检查上,都总让人感觉“差了那么一点意思”。 ...
本文永久链接 – https://tonybai.com/2025/11/27/dingo-go-typescript-moment 大家好,我是Tony Bai。 Go 语言自诞生以来,以其极简主义哲学(Simplicity)赢得了全球开发者的青睐。然而,这种极简也伴随着长期的痛点: ...
本文永久链接 – 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”。一瞬间,你感觉自己仿佛闯入了一个学术研讨会,这些看似熟悉又陌生的词汇让你一头雾水,只想默默关掉页面。 ...
本文永久链接 – 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 语言在某些方向上的演进画上了句号。 ...
Go的简洁神话?转Go前你需要知道的5个“真相” - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
本文永久链接 – https://tonybai.com/2022/12/18/go-type-system Go是一门强类型的静态编程语言。使用Go编程,我们的每一行代码几乎都离不开类型。因此,深入学习Go,我们首先要对Go的类型系统(type system)有一个全面和深入的认知。Go类型系统可以给予我们一个全局整体的视角,以帮助我们更好地学习和理解Go语言中那些具体的与类型相关的内容。 ...
Go有强烈的C背景,除了语法具有继承性外,其设计者以及其设计目标都与C语言有着千丝万缕的联系。在Go与C语言互操作(Interoperability)方面,Go更是提供了强大的支持。尤其是在Go中使用C,你甚至可以直接在Go源文件中编写C代码,这是其他语言所无法望其项背的。 在如下一些场景中,可能会涉及到Go与C的互操作: 1、提升局部代码性能时,用C替换一些Go代码。C之于Go,好比汇编之于C。 2、嫌Go内存GC性能不足,自己手动管理应用内存。 ...