学会定制化 Go 项目的 error,回溯错误的原因和发生位置
如果你们的研发习惯是请求接口的响应一律是 HTTP 200 再通过相应里的code码判断是否正确,这个方法可以放着不用, 规范化一点肯定是这种比较好,况且HTTP Status 不是 200 状态码,也是可以返回 code msg 那些信息给客户端的。
面试官:Go中的singleflight是如何实现的?
singleflight 里有一个核心结构叫做 Group。当你调用 Do 方法时,它接收一个键(key)和一个函数(fn)。这个键是用来标识请求的唯一性,而函数则是实际要执行的操作。Do 方法首先会检查是否已经有相同的请求正在处理中。
Go 1.23引入的新Bug?其实只是文档没看仔细
目前Ian Lance Taylor将该issue改名为“proposal: cmd/vet: warn about copying a time.Timer value”,即建议在vet中增加warning,但他也不保证该proposal能被accept,因为要看后续是否会受到很多类似的问题报告。
用Go语言构建优雅的事件驱动架构
本文介绍了事件驱动架构的基本概念,并结合 Go 语言展示了如何使用 channel 和消息队列实现简单的 EDA 系统。EDA 作为一种强大的架构模式,可以帮助我们构建高可用、可扩展和易于维护的现代应用程序。