通过实例理解Go标准库context包
原weibo账号处于jy状态,临时先用小号 https://weibo.com/u/6484441286,欢迎大家关注! “Gopher部落”知识星球双十一新人特惠,领劵加入即享立减88元优惠 – https://t.zsxq.com/078E1QTjM 本文永久链接 – https://tonybai.com/2022/11/08/understand-go-context-by-example...
View ArticleGo,13周年[译]
本文永久链接 – https://tonybai.com/2022/11/11/go-opensource-13-years 在中华大地的老百姓抱着手机进行双十一购物节狂欢,忙着支付尾款和秒杀的时候,Go核心团队的Russ Cox代表Go语言项目团队在Go官博上发表了《Thirteen Years of...
View Article使用反射操作channel
本文永久链接 – https://tonybai.com/2022/11/15/using-reflect-to-manipulate-channels 今年教师节极客时间送给讲师4999 SVIP卡,一直没顾过来用,上周激活后在极客时间的众多精品课和专栏中徜徉,收获颇丰。尤其是在拜读鸟窝老师的《Go并发编程实战课》...
View ArticleGo 1.20新特性前瞻
本文永久链接 – https://tonybai.com/2022/11/17/go-1-20-foresight 在近期Russ Cox代表Go核心团队发表的“Go, 13周年”一文中,他提到了“在Go的第14个年头,Go团队将继续努力使Go成为用于大规模软件工程的最好的环境,将特别关注供应链安全,提高兼容性和结构化日志记录,当然还会有很多其他改进,包括profile-guided...
View Article这可能是最权威、最全面的Go语言编码风格规范了!
本文永久链接 – https://tonybai.com/2022/11/26/intro-of-google-go-style 每种编程语言除了固定的语法之外,都会有属于自己的地道的(idiomatic)写法。其实,自然语言也不例外,你想,你用心想想是不是这样。...
View ArticleGo为什么能成功
本文永久链接 – https://tonybai.com/2022/12/07/why-go-succeed 大家在入门Go语言时,多埋头于Go语法,忙于练手或快速完成公司的项目,无暇思考。 但当大家到了要进阶,要冲刺高级阶段的时候,我建议你不能再稀里糊涂了。既然入了Go这个坑,在进入高级阶段前,我们最好在门口的“影壁墙”前驻留一下。...
View ArticleGo类型系统:有何与众不同
本文永久链接 – https://tonybai.com/2022/12/18/go-type-system Go是一门强类型的静态编程语言。使用Go编程,我们的每一行代码几乎都离不开类型。因此,深入学习Go,我们首先要对Go的类型系统(type system)有一个全面和深入的认知。Go类型系统可以给予我们一个全局整体的视角,以帮助我们更好地学习和理解Go语言中那些具体的与类型相关的内容。 一....
View Article阿根廷圆梦卡塔尔世界杯,梅西正式加冕第三代球王
本文永久链接 – https://tonybai.com/2022/12/19/argentina-wins-qatar-world-cup 都说球迷“迷信”,事实上呢,我就是一个“迷信”的阿根廷球迷。我发现:只要我看阿根廷队正式比赛的直播,阿根廷就会输球(或至少是个平局),即便是面对沙特这样的世界杯弱旅也会输掉。 本届卡塔尔世界杯的阿根廷比赛,我忍不住看了对阵沙特这一场:(。...
View Article2022年Go语言盘点:泛型落地,无趣很好,稳定为王
本文永久链接 – https://tonybai.com/2022/12/29/the-2022-review-of-go-programming-language 早早就计划好在年前写一个Go语言年度盘点,就像2020年和2021年那样。但恰逢国内疫情管控放开,一波阳了之后身体十分容易疲劳,再加上工作上的事情挺多,这篇盘点也就迟迟没能下笔。...
View Article聊聊Prometheus Gauge的增减操作实现
本文永久链接 – https://tonybai.com/2023/01/10/how-prometheus-gauge-add-and-sub 1. Gauge是啥? 熟悉Prometheus的小伙伴们都知道Prometheus提供了四大指标类型: Counter Gauge Histogram Summary...
View Article2022年博客回顾与总结
本文永久链接 – https://tonybai.com/2023/01/11/2022-blog-summary 2022年对我来说,也是十分忙碌和充实的一年。尽管和2021年相比,成果物没那么多^_^。 伴随着二宝的长大,我发现自己的闲暇时间被进一步“压缩”,还好大宝上初中后领悟到了自驱学习的重要性和相关方法后,她的学习现在基本不需要我过问了。...
View Article聊聊Go与TLS 1.3
本文永久链接 – https://tonybai.com/2023/01/13/go-and-tls13 除了一些综述类文章和译文,我的文章选题多来源于实际工作和学习中遇到的问题。这次我们来聊聊近期遇到一个问题:如何加快基于TLS安全通信的海量连接的建连速度? TLS(Transport Layer...
View Article将Roaring Bitmap序列化为JSON
本文永久链接 – https://tonybai.com/2023/02/01/serialize-roaring-bitmap-to-json 近期在实现一个数据结构时使用到了位图索引(bitmap index),本文就来粗浅聊聊位图(bitmap)。 一. 什么是bitmap 位图索引使用位数组(bit...
View ArticleGo 1.20中值得关注的几个变化
本文永久链接 – https://tonybai.com/2023/02/08/some-changes-in-go-1-20 美国时间2023年2月1日,唯一尚未退休的Go语言之父Robert Griesemer代表Go核心开发团队在Go官博撰文正式发布了Go 1.20版本。就像Russ Cox在2022 GopherCon大会所说的那样:Go2永不会到来,Go 1.x.y将无限延续!...
View Article一文告诉你如何判断Go接口变量是否相等
本文永久链接 – https://tonybai.com/2023/02/19/how-to-determine-if-two-interface-vars-are-equal 近日一位《Go语言第一课》专栏的读者向我提出一个问题,代码如下: func main() { printNonEmptyInterface1() } type T struct { name string } func...
View Article2023年的Rust与Go[译]
本文永久链接 – https://tonybai.com/2023/02/22/rust-vs-go-in-2023 本文译自《Rust vs Go in 2023》。 注:从2022年下半年开始,我们研发团队的产品研发不再局限于云端,车端也是将来的一个重要方向。于是我除了继续对Go语言保持常规的高度关注之外,也逐步开始留意Rust语言的发展。...
View Article十分钟入门Go语言
本文永久链接 – https://tonybai.com/2023/02/23/learn-go-in-10-min 本文旨在带大家快速入门Go语言,期望小伙伴们在花费十分钟左右通读全文后能对Go语言有一个初步的认知,为后续进一步深入学习Go奠定基础。 本文假设你完全没有接触过Go,你可能是一名精通其他编程语言的程序员,也可能是毫无编程经验、刚刚想转行为码农的热血青年。 编程简介...
View Article小厂内部私有Go module拉取方案3
本文永久链接 – https://tonybai.com/2023/03/03/the-approach-to-go-get-private-go-module-in-house-part3 1. 缘起 我们的Go团队这两年完全是按照之前写的《小厂内部私有Go module拉取方案》和《小厂内部私有Go...
View ArticleGo是一门面向对象编程语言吗
本文永久链接 – https://tonybai.com/2023/03/12/is-go-object-oriented Go语言已经开源13年了,在近期TIOBE发布的2023年3月份的编程语言排行榜中,Go再次冲入前十,相较于Go在2022年底的排名提升了2个位次: 《Go语言第一课》专栏中关于Go在这两年开始飞起的“预言”也正在逐步成为现实^_^,大家学习Go的热情也在快速提升,...
View Article一文搞懂Go subtest
注:本篇首图片基于lexica AI生成的图片二次加工而成。 本文永久链接 – https://tonybai.com/2023/03/15/an-intro-of-go-subtest 单元测试(unit testing)是软件开发中至关重要的一环,它存在的意义包括但不限于如下几个方面: 提高代码质量:单元测试可以确保代码的正确性、可靠性和稳定性,从而减少代码缺陷和bug。...
View Article