Web Analytics

“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

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

本文永久链接 – https://tonybai.com/2023/08/20/some-changes-in-go-1-21 美国时间2023年8月8日,Go团队在Go官博上正式发布了1.21版本! 早在今年4月末,我就撰写了文章《Go 1.21新特性前瞻》,对Go 1.21可能引入的新特性、新优化和新标准库包做了粗略梳理。 ...

August 20, 2023 · 26 min · Tony Bai

Go 1.20新特性前瞻

本文永久链接 – https://tonybai.com/2022/11/17/go-1-20-foresight 在近期Russ Cox代表Go核心团队发表的“Go, 13周年”一文中,他提到了“在Go的第14个年头,Go团队将继续努力使Go成为用于大规模软件工程的最好的环境,将特别关注供应链安全,提高兼容性和结构化日志记录,当然还会有很多其他改进,包括profile-guided optimization等”。 ...

November 17, 2022 · 11 min · Tony Bai

“能力越大,责任越大” – Go语言之父详解将于Go 1.18发布的Go泛型

注:本文是首发于笔者微信公众号“iamtonybai”上的付费文章,这里免费分享给大家! 在2020.11.9~11.13举行的全球最具影响力的Go语言技术大会GopherCon 2020上,Go语言之父之一的Robert Griesemer为全世界Gopher们带来了本次大会最重量级的演讲**“Typing [Generic] Go”**。 ...

February 18, 2021 · 14 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

计算重现性:一些挑战

写在Go语言开源十周年的日子 by Rob Pike 近期,有人对科学结果的可重现性进行了讨论,并得出了一些让人沮丧的结论。一项研究表明:这种可重现性只有62%。 在某些领域,情况可能更糟。任何依赖于计算的结果都面临着其编程环境不断变化的巨大风险:十年前编写的程序如果没有更改,今天构建成功的机会几乎微乎其微,更不用说运行或正确运行了。 ...

November 19, 2019 · 4 min · Tony Bai

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

2019年对于Go语言来说也是一个重要的年份,因为在2019年的11月10日,Go即将迎来其开源10周年的纪念日。在这个重要日子的前夕,在GopherCon 2019大会后,Go项目组在2019.9.4日发布了Go 1.13版本。 这是自2017年GopherCon大会上Russ Cox做“Toward Go 2″主题演讲以来Go项目发布的第四个版本(前三个分别是:go 1.10、go 1.11和go 1.12)。 ...

October 27, 2019 · 12 min · Tony Bai

Go 1.13中的错误处理

介绍 在过去的十年中, Go的errors are values的理念在编码实践中运行得也很良好。尽管标准库对错误处理的的支持很少(只有errors.New和fmt.Errorf函数可以用来构造仅包含字符串消息的错误),但是内置的error接口使Go程序员可以添加所需的任何信息。它所需要的只是一个实现Error方法的类型: type QueryError struct { Query string Err error } func (e *QueryError) Error() string { return e.Query + ": " + e.Err.Error() } 像这样的错误类型无处不在,它们存储的信息变化很大,从时间戳到文件名再到服务器地址。通常,该信息包括另一个较低级别的错误以提供其他上下文信息。 ...

October 18, 2019 · 9 min · Tony Bai

Go正走在成为下一个企业级编程语言的轨道上

发展演化了十年的Go语言已经被证明了是云计算时代的首选编程语言,但Go的用武之地显然不局限于此。Kevin Goslar近期在Hacker Noon发表了一篇名为:《Go is on a Trajectory to Become the Next Enterprise Programming Language》的文章,阐述了Go可能成为下一个企业编程语言的理由,这里是那篇文章的中文译文,分享给大家。 ...

May 3, 2019 · 14 min · Tony Bai

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

Go team如期在2月末发布了Go 1.12版本。从Go 1.12的Release Notes粗略来看,这个版本相较于之前增加了go modules机制、WebAssembly支持的Go 1.11,变化略“小”。这也给下一个Go 1.13版本预留了足够的“惊喜”空间:)。从目前的plan来看,Go 1.13很可能落地的包括:Go2的几个proposals:Go 2 number literals, error values和signed shift counts等,以及优化版Escape Analysis等。 ...

March 2, 2019 · 9 min · Tony Bai