<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Go Fix on Zampo Blog</title><link>https://blog.cpdd.fyi/tags/go-fix/</link><description>Recent content in Go Fix on Zampo Blog</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Thu, 25 Jun 2026 10:30:00 +0800</lastBuildDate><atom:link href="https://blog.cpdd.fyi/tags/go-fix/index.xml" rel="self" type="application/rss+xml"/><item><title>Go 1.25/1.26 正在替团队还三类债：性能、写法、测试</title><link>https://blog.cpdd.fyi/posts/go-125-126-three-debts/</link><pubDate>Thu, 25 Jun 2026 10:30:00 +0800</pubDate><guid>https://blog.cpdd.fyi/posts/go-125-126-three-debts/</guid><description>&lt;p&gt;很多团队升级 Go 版本，只做一件事：把 CI 跑绿。&lt;/p&gt;
&lt;p&gt;跑绿以后就结束了。代码没动，测试没动，工具链没动。版本号从 1.22 变成 1.26，心里安慰自己：至少我们没落后太多。&lt;/p&gt;
&lt;p&gt;但 Go 1.25 / 1.26 这两版，我不太建议这样看。&lt;/p&gt;
&lt;p&gt;它们最值得关注的地方，不是又多了几个语法点，而是 Go 开始把一些团队长期积着的工程债，往运行时、工具链和标准库里搬。&lt;/p&gt;
&lt;p&gt;性能债，交给 Green Tea GC 先还一部分。&lt;/p&gt;
&lt;p&gt;写法债，交给重写后的 &lt;code&gt;go fix&lt;/code&gt; 先还一部分。&lt;/p&gt;
&lt;p&gt;测试债，交给 &lt;code&gt;testing/synctest&lt;/code&gt; 先还一部分。&lt;/p&gt;
&lt;p&gt;这不是“新版 Go 很厉害”的发布稿口吻。真正值得你关心的是：有些债，以前只能靠团队纪律、代码评审和人肉迁移，现在开始有工具接手了。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.cpdd.fyi/images/go-125-126-three-debts/cover.svg" alt="Go 1.25/1.26 三类工程债"&gt;&lt;/p&gt;
&lt;h2 id="性能债别把-gc-overhead-当成业务性能"&gt;性能债：别把 GC overhead 当成业务性能&lt;/h2&gt;
&lt;p&gt;Go 1.26 默认启用了 Green Tea GC。&lt;/p&gt;
&lt;p&gt;如果只看传播口径，这个点很容易被写歪：最高 50%、零代码修改、重新编译就提速。听起来很爽，但这种说法最容易误导人。&lt;/p&gt;
&lt;p&gt;Green Tea 真正改善的是 GC 这部分成本，不是你的业务整体性能直接涨 50%。&lt;/p&gt;
&lt;p&gt;Go 官方更稳的说法是：对重度使用 GC 的真实程序，预期 GC overhead 降低 10% 到 40%。在较新的 amd64 CPU 上，因为可以用向量指令扫描小对象，还可能有额外的 GC overhead 改进。&lt;/p&gt;</description></item></channel></rss>