为什么说“编译通过,就能运行”?Google 专家 Alice 揭秘 Rust 的工程美学与底层逻辑

本文永久链接 – https://tonybai.com/2026/06/16/why-if-it-compiles-it-runs-rust-engineering-aesthetics-and-logic 大家好,我是Tony Bai。 在软件工程界,有一句流传甚广、近乎玄学的名言:“如果你的 Rust 代码通过了编译,那么它就已经可以正确运行了。” 对于被 Java 的空指针异常(NullPointerException)折磨得彻夜难眠、被 C++ 的段错误(Segfault)逼到崩溃、或者在 TypeScript 里为处理各种隐式错误而心力交瘁的开发者来说,这句话听起来像是一个过于美好的谎言。 ...

June 16, 2026 · 9 min · Tony Bai

写地道的 Go 语言,是否能让你成为了一个更好的开发者?

本文永久链接 – https://tonybai.com/2026/06/11/writing-idiomatic-go-make-you-better 大家好,我是Tony Bai。 在技术圈里,Go 语言(Golang)一直扮演着一个特立独行、甚至有些“格格不入”的角色。 如果你去问一个写 Java、Python、TypeScript 或是 C++ 的程序员对 Go 的第一印象,得到的回答大概率是:“无聊”、“简陋”,以及无处不在的 “冗余样板代码(if err != nil)”。它没有优雅的异常捕获机制,早期坚决不引入泛型,更把面向对象最核心的“类继承”给无情斩断了。 ...

June 11, 2026 · 7 min · Tony Bai

从 Go 迁移到 Rust

本文永久链接 – https://tonybai.com/2026/05/27/migrate-go-to-rust 大家好,我是Tony Bai。 在现代后端系统编程领域,Go 和 Rust 无疑是最耀眼的两大双子星。它们都拥有静态类型、编译型、单二进制文件分发等优异特性。然而,这两门语言在底层的设计哲学、运行时权衡以及开发者体验上,走向了截然不同的方向。 ...

May 27, 2026 · 33 min · Tony Bai

写了 10 年 Java/TS,Go 语言终于治好了我的“过度设计”绝症

本文永久链接 – https://tonybai.com/2026/05/16/go-cured-my-over-engineering-addiction-after-java-ts 大家好,我是Tony Bai。 在软件工程的圈子里,有一种病,几乎所有写过几年 Java 或 TypeScript 的程序员都得过,而且往往病得不轻。 这种病叫:“过度设计综合征(Over-engineering Syndrome)”。 ...

May 16, 2026 · 7 min · Tony Bai

Bun 创始人带头“叛逃”:放弃 Zig,用 AI 把项目重写成 Rust?

本文永久链接 – https://tonybai.com/2026/05/08/bun-founder-abandons-zig-for-rust-ai-rewrite 大家好,我是Tony Bai。 在过去的两年里,Bun 以其闪电般的速度,成为了前端世界挑战 Node.js 霸权的“重量级选手”。 而它成功的秘诀之一,就是其创始人 Jarred Sumner 极其激进、甚至有些“偏执”的技术选型——全面押注 Zig 语言。 ...

May 8, 2026 · 7 min · Tony Bai

Go 代码设计的“第一天原则”:一份能让你少走五年弯路的实战模式清单

本文永久链接 – https://tonybai.com/2026/04/24/go-code-design-day-one-principle-practical-patterns-list 大家好,我是Tony Bai。 世界读书日送福利活动火热进行中,点击这里留言参与,赢取属于你的幸运! 每一个 Go 开发者,大概都经历过这样的心路历程: 项目启动初期,为了追求“快”,我们怎么方便怎么来。配置到处写,数据库连接随手建,错误日志直接 fmt.Println。我们安慰自己:“先跑起来,以后再重构。” ...

April 24, 2026 · 9 min · Tony Bai

Rust 看了流泪,AI 看了沉默:扒开 Go 泛型最让你抓狂的“残疾”类型推断

本文永久链接 – https://tonybai.com/2026/03/27/function-type-inference-should-work-in-all-assignment-contexts 大家好,我是Tony Bai。 在这个大模型(AI)写代码如喝水一般简单的时代,你有没有遇到过一种极其憋屈的场景: 你让 Claude Code 或者 Codex 帮你写了一段 Go 语言代码,逻辑清晰,结构优雅,连它自己都觉得这波操作满分。但当你满怀期待地按下 go run 时,Go 编译器却无情地丢给你一个红色报错: ...

March 27, 2026 · 6 min · Tony Bai

你的 Go 报错信息正在“出卖”你!扒一扒大厂是如何做错误隔离与日志脱敏的

本文永久链接 – https://tonybai.com/2026/03/21/best-practices-for-secure-error-handling-in-go 大家好,我是Tony Bai。 如果要在 Go 语言里选一句被敲击次数最多的代码,if err != nil { return err } 绝对毫无悬念地霸榜第一。 初学 Go 时,我们总觉得这种显式的错误处理极其啰嗦。但随着项目的深入,我们开始理解 Go 团队的良苦用心:错误不是被抛出的异常(Exceptions),错误就是普通的值(Values)。你需要像对待普通变量一样,去传递它、包装它、解包它。 ...

March 21, 2026 · 10 min · Tony Bai

数据打脸刻板印象:Go 的“样板代码”竟然和 Rust 一样多?

本文永久链接 – https://tonybai.com/2026/02/08/go-boilerplate-code-vs-rust-data-refutes-stereotypes 大家好,我是Tony Bai。 在编程语言的鄙视链中,Go 语言常常因为其“繁琐”而饱受诟病。 “if err != nil 写断手”、“缺乏语法糖”、“到处都是重复的样板代码”…… 这些似乎已经成为了 Go 的标签。 ...

February 8, 2026 · 5 min · Tony Bai

“Go 2,请不要发生!”:如果 Go 变成了“缝合怪”,你还会爱它吗?

本文永久链接 – https://tonybai.com/2026/02/06/go-2-dont-become-a-frankenstein-monster 大家好,我是Tony Bai。 “Go 2, please don’t make it happen.” 近日,一张充满讽刺意味的老梗图在 r/golang 社区又炸开了锅。图片的上方,是我们熟悉的 Gopher 吉祥物——那只呆萌、简单、甚至有点傻气的蓝色地鼠,它象征着 Go 语言纯粹而克制的灵魂。 ...

February 6, 2026 · 9 min · Tony Bai