说起每个程序员必犯的错误,那还得是"循环变量"这个错误了,就连Go的开发者都犯过这个错误,这个错误在Go的FAQ中也有提到What happens with closures running as goroutines?:
2023年在地球上举行的Gopher大会
疫情结束后,很多的Gopher大会在全世界举行,本文整理了今年在地球上举行的Gopher大会,并列出了大会中一些有趣的议题和油管链接。
卷起来,老程序员也得了解errors包的新变化
Go 1.13 中errors包有了一些变化,这些变化是为了更好地支持Go的错误处理提案。Go 1.20中也增加了一个新方法,这个新方法可以代替第三方的库处理多个error,这篇文章将介绍这些变化。
因为原来的Go的errors中的内容非常的简单,可能会导致大家轻视这个包,对于新的变化不是那么的关注。让我们一一介绍这些新的方法。
Go单线程运行也会有并发问题
一个Go大佬群中严肃的讨论了一个问题:Go程序单线程多goroutine访问一个map会遇到并发读写panic么?
这个限流库两个大bug存在了半年之久,没人发现?
最近我的同事在使用uber-go/ratelimit这个限流库的时候,遇到了两个大bug。这两个bug都是在这个库的最新版本(v0.3.0
)中存在的,而这个版本从7月初发布都已经过半年了,都没人提bug,难道大家都没遇到过么?
2023年 Go 并发库的变化综述
2023年来, Go的并发库又有了一些变化,这篇文章是对这些变换的综述。小细节的变化,比如typo、文档变化等无关大局的变化就不介绍了。
Rust并发编程番外篇: Mutex内部实现
Mutex是最常用的一种同步原语,它提供了互斥锁的功能,多线程可以互斥访问共享数据以及通过锁保护临界区。Rust标准库提供了Mutex的实现,接下来我们看看它是怎么实现的。
iptables 以及 Go操作库
iptables
是 Linux 系统中的一个非常强大的防火墙工具,它可以用于过滤、修改、重定向和处理网络数据包。iptables 是基于 Netfilter 框架的,Netfilter 是 Linux 内核的一部分,它提供了在内核级别处理网络数据包的能力。