Web Analytics

Go 语言的灵魂之问:当“简单”变得“复杂”

Go 语言的灵魂之问:当“简单”变得“复杂” - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

September 16, 2025 · 5 min · Tony Bai

Gopher直通大厂,就从这第一课开始!

本文永久链接 – https://tonybai.com/2025/09/03/gopher-first-lesson-to-big-factory 大家好,我是Tony Bai。 很多计算机专业的同学们都在问:想进大厂,要先学好哪门编程语言? 从应用广泛程度来说,学好Go语言肯定错不了!我们来看一下大厂们都用Go在做哪些开发: ...

September 3, 2025 · 7 min · Tony Bai

我的 Gopher “长期主义”:从《Go语言第一课》新书说起

本文永久链接 – https://tonybai.com/2025/08/28/go-primer-published 大家好,我是Tony Bai。 前不久,在知乎上看到一个关于 Go 社区的帖子,其中一条评论让我感慨良多: “GopherChina 都没了,国内还有几人坚持?Tony Bai好像还在更新” ...

August 28, 2025 · 8 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

泛型重塑 Go 错误检查:errors.As 的下一站 AsA?

本文永久链接 – https://tonybai.com/2025/08/23/proposal-errors-asa 大家好,我是Tony Bai。 自 Go 1.13 引入 errors.Is 和 errors.As 以来,Go 语言的错误处理进入了一个结构化、可追溯的新时代。然而,errors.As 的使用方式,对于追求代码简洁与优雅的 Gopher 而言,始终存在一丝“不和谐”:开发者必须预先声明一个目标错误类型的变量,然后将其指针传入函数。 ...

August 23, 2025 · 6 min · Tony Bai

从 Rob Pike 的提案到社区共识:Go 或将通过 new(v) 彻底解决指针初始化难题

本文永久链接 – https://tonybai.com/2025/08/17/create-pointer-to-simple-types 大家好,我是Tony Bai。 在 Go 中创建一个指向基本类型(如 int 或 string)的指针,为何比创建一个指向结构体的指针更繁琐?这个长期存在的“人体工程学”问题,由 Go 语言的共同创造者之一 Rob Pike 在提案 #45624 中再次带入公众视野,并由此引发了一场长达数年、充满深度思辨的社区大讨论。最终,在权衡了多种方案的利弊后,社区逐渐形成共识,Go 提案委员会倾向于接受 new(v) 语法。本文将和大家一起回顾这场关于指针初始化的“十年之辩”,深入探讨各种方案的优劣,并解读为何 new(v) 可能成为最终赢家。 ...

August 17, 2025 · 6 min · Tony Bai

Go 1.25中值得关注的几个变化

本文永久链接 – https://tonybai.com/2025/08/15/some-changes-in-go-1-25 大家好,我是Tony Bai。 北京时间2025年8月13日,Go 团队如期发布了 Go 语言的最新大版本——Go 1.25。按照惯例,每次 Go 大版本发布时,我都会撰写一篇“Go 1.x 中值得关注的几个变化”的文章。自 2014 年的 Go 1.4 版本起,这一系列文章已经伴随大家走过了十一个年头。 ...

August 15, 2025 · 8 min · Tony Bai

Go vs. Rust vs. C++:从语言规范长度看三种不同的“复杂性”

Go vs. Rust vs. C++:从语言规范长度看三种不同的“复杂性” - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

July 25, 2025 · 6 min · Tony Bai

美国运通复盘 Go 语言实践:从依赖管理到并发模型,七大经验教训全解析

美国运通复盘 Go 语言实践:从依赖管理到并发模型,七大经验教训全解析 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

July 24, 2025 · 5 min · Tony Bai

不止是云原生:为什么 Go 的热度在持续上升?来自社区的真实声音

不止是云原生:为什么 Go 的热度在持续上升?来自社区的真实声音 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

July 23, 2025 · 6 min · Tony Bai