2021年Go语言盘点:厉兵秣马强技能,蓄势待发新征程

本文永久链接 – https://tonybai.com/2022/01/16/the-2021-review-of-go-programming-language 由于日常忙工作,闲时忙专栏,我早已策划的2021年Go语言盘点这篇文章一直拖到了2022年元旦之后才开始落笔。 2021年,Go迈过了其开源的第12个年头。虽然已经演进了10余年,但在编程语言这个领域中,Go依旧属于“小字辈”,仍处于快速的成长演化期。 纵观整个2021年,如果要用一句话来形容Go语言的发展,那就是厉兵秣马,蓄势待发。“厉兵秣马”这个成语的意思是把兵器磨快,把战马喂饱,形容做好战备,也比喻事前做好准备工作。那么2021年的Go究竟在为什么做准备呢?毫无疑问,它就是2022年泛型语法特性的落地。泛型既是Go社区最关注的语法特性,也是Go在语言特性方面的又一个“杀手锏”。 ...

January 16, 2022 · 12 min · Tony Bai

Go语言的“黑暗角落”:盘点学习Go语言时遇到的那些陷阱[译](第二部分)

本文翻译自Rytis Bieliunas的文章《Darker Corners of Go》。 第一部分参见《Go语言的“黑暗角落”:盘点学习Go语言时遇到的那些陷阱[译](第一部分)》 7. 字符串和字节数组 1) Go中的字符串 Go字符串的内部定义如下所示: type StringHeader struct { Data uintptr Len int } 字符串本身是一个值类型,它具有一个指向字节数组的指针和固定长度。字符串中的“零字节”不像在C中那样标记着字符串的结尾。字符串内可以有任何数据。通常,该数据被编码为UTF-8字符串,但不一定如此。 ...

March 29, 2021 · 29 min · Tony Bai

Go语言的“黑暗角落”:盘点学习Go语言时遇到的那些陷阱[译](第一部分)

本文翻译自Rytis Bieliunas的文章《Darker Corners of Go》。 译注:若干年前,Kyle Quest曾发过一篇名为“50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs”的文章,仿效著名的《C Traps and Pitfalls》编写了50条Go语言的陷阱与缺陷,一时在Go社区广为流传。而本文是又一篇较为系统总结Go陷阱的文章,不同于50 Shades of Go的按初中高级陷阱的分类方式,本文是按类别对Go陷阱做讲解。 ...

March 29, 2021 · 14 min · Tony Bai

究竟是什么让Go语言成为恶意软件作者的最爱

2020年5月份,Go语言之父Rob Pike接受了evrone.com的专访。当Rob Pike老爷子被问及多年来他看到过最奇怪、最有创意或有趣的Go用法或最让他惊讶的是什么时,老爷子是这么回答的: ...

March 7, 2021 · 22 min · Tony Bai

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

辛丑牛年初七开工大吉的日子(2021.2.18),Go核心开发团队为中国Gopher们献上了大礼 – Go 1.16版本正式发布了!国内Gopher可以在Go中国官网上下载到Go 1.16在各个平台的安装包: ...

February 25, 2021 · 24 min · Tony Bai