Web Analytics

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语言精进之路:为Gopher们准备的“知识年货”

本文永久链接 – https://tonybai.com/2022/01/15/go-programming-from-beginners-to-masters-is-published 历时三年多编写的Go语言进阶类图书《Go语言精进之路:从新手到高手的编程思想、方法和技巧》系列1、2册终于在2021年12月17日出版了! 2021年的最后一天,我收到了机械工业出版社华章分社编辑罗词亮老师从微信发来的成书照片,还有什么元旦礼物能比这个更美妙呢^_^。 ...

January 15, 2022 · 6 min · Tony Bai

2021年博客回顾与总结

本文永久链接 – https://tonybai.com/2021/12/31/2021-blog-summary 2021年对我来说是极其充实的一年。 在这一年里,生活上的充实体现在带娃上。除了要带不到一岁的二宝,还要辅导大宝学习,陪大宝上补习班。 工作中,由于我刚入行智能网联汽车这个行业,要学的东西很多,要做的东西也很很多,要解决的问题同样很多,每天都十分忙碌。 ...

December 31, 2021 · 4 min · Tony Bai

切换到Go 1.18后的第一件事:将interface{}全部替换为any

本文永久链接 – https://tonybai.com/2021/12/18/replace-empty-interface-with-any-first-after-switching-to-go-1-18 伴随着Go 1.18 beta1版本的发布,很多Gopher已经迫不及待地下载该版本并体验其中的新特性了! Go 1.18 beta1到手后,你想做的第一件事是什么呢? 说到这里,很多人会问:这是什么梗? ...

December 18, 2021 · 6 min · Tony Bai

Go 1.18 Beta1版本发布,支持泛型[译]

本文永久链接 – https://tonybai.com/2021/12/15/go-1-18-beta1 北京时间今天凌晨,美国时间12月14日,Go核心团队技术负责人Russ Cox在Go官博发表文章《Go 1.18 Beta 1 is available, with generics》,正式宣布Go 1.18的第一个预览版Go 1.18 beta1发布!Go团队这次少见的通过官博来发布一个beta版本,足以证明Go团队对Go 1.18版本的重视,毕竟Go 1.18是Go自诞生以来最大的一次语法变动,Go团队希望Go社区的gopher们广泛参与公测,在Go 1.18版本发布之前尽可能多地找出版本中存在的bug。 ...

December 15, 2021 · 3 min · Tony Bai

Go 1.18新特性前瞻:原生支持Fuzzing测试

本文永久链接 – https://tonybai.com/2021/12/01/first-class-fuzzing-in-go-1-18 今年6月初,Go官博发表了一篇名为《Fuzzing is Beta Ready》的文章,文中称gotip版本已经原生支持Fuzzing并开始了公测。这意味着Fuzzing将以一等公民(first-class citizen)的身份正式加入到即将于2022年2月发布的Go 1.18版本中: ...

December 1, 2021 · 18 min · Tony Bai

Go 1.18新特性前瞻:Go工作区模式

本文永久链接 – https://tonybai.com/2021/11/12/go-workspace-mode-in-go-1-18 Go 1.18版本如无意外,将于2022年2月发布。 在这个版本中,除了包含万众期待的Go泛型之外,还包含很多实用的功能特性,Go工作区模式(Go workspace mode)就是其中之一,它弥补了当前go module构建模式的一些不足,堪称是go module构建模式的最后一块拼图。这篇文章我们就来看看什么是Go工作区模式,它究竟能解决什么问题。 ...

November 12, 2021 · 10 min · Tony Bai

Go,12周年

本文永久链接 – https://tonybai.com/2021/11/11/go-opensource-12-years 2009年11月10日,Go语言正式对外发布并开源。如今,距那一历史时刻已经过去12年了。今早Go核心团队技术负责人Russ Cox在Go官博撰文庆祝Go开源12周年,他回顾了这一年来发布的Go 1.16与Go 1.17版本给Go与Go社区带来的变化,粗略总结了Go核心团队的重点工作,并展望了2022年将发布的Go 1.18和Go 1.19版本。这里对Russ Cox的文章做了简单翻译,供大家参考。 ...

November 11, 2021 · 6 min · Tony Bai

Ian Lance Taylor:Go泛型使用的一般准则

本文永久链接 – https://tonybai.com/2021/11/07/using-generics-in-go 在近期Google Open Source Live的Go Day 2021环节,Go泛型的主要设计者Ian Lance Taylor做了Using Generics in Go的简短演讲(国内地址在这里)。这篇演讲的重点不是即将于Go 1.18版本降临的Go泛型的语法细节,而是介绍目前Go核心团队在设计、实现以及内部实践Go泛型的过程中积累的一些实践经验。Ian将这些经验总结成了这么一段小视频,旨在Go泛型落地之前,为Go社区提供一些Go泛型使用的通用指导原则。这里将演讲内容整理出来,供大家参考。 ...

November 7, 2021 · 11 min · Tony Bai

Go 1.18对泛型的支持策略

本文永久链接 – https://tonybai.com/2021/10/28/expectations-for-generics-in-go-1.18 2021年10月中旬,Go语言之父Rob Pike在github上的Go项目中发了一条issue:建议不在Go 1.18的标准库中使用泛型。 不得不说“姜还是老的辣”!Rob Pike的理由很简单,Go泛型是Go诞生以来最大的一次语言变化,Go 1.18版本承载了太多的change,容易出错。并且Go核心开发团队也没有使用新泛型的经验,他建议Go核心开发团队应该多等待、观察和学习。我是十分赞同Rob Pike的建议的,不要把步子迈得太大。Go应该按照自己的节奏稳步前进。 ...

October 28, 2021 · 6 min · Tony Bai