Go语言爱好者周刊:第 198 期
<p>这里记录每周值得分享的 Go 语言相关内容,周日发布。本周刊开源(GitHub:<a href="https://github.com/polaris1119/golangweekly">polaris1119/golangweekly</a>),欢迎投稿,推荐或自荐文章/软件/资源等,请<a href="https://github.com/polaris1119/golangweekly/issues">提交 issue</a> 。</p>
<p>鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。</p>
<p><img src="https://imgproxy.citrusreader.com/JC_-xsH_rAnQbQu5xGfAB_AEznGyg7Z5299vRJVsurA/raw:1/aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3BvbGFyaXMxMTE5L2dvbGFuZ3dlZWtseS9tYXN0ZXIvZG9jcy9pbWdzL2lzc3VlMTk4L2NvdmVyLmpwZWc" alt referrerpolicy="no-referrer"></p>
<p>题图:Go1.21 发布</p>
<h2>资讯</h2>
<p>1、<a href="https://github.com/dgraph-io/badger">BadgerDB v4.2 发布</a></p>
<p>BadgerDB 是一个用纯 Go 编写的可嵌入,持久和快速键值(KV)数据库。 它是 Dgraph(快速,分布式图数据库)的基础数据库。它打算成为 RocksDB 等非基于 Go 的键值存储的高性能替代品。</p>
<p>2、<a href="https://github.com/go-playground/validator">validator v10.15.0 发布</a></p>
<p>该验证器基于标签对结构和单个字段实现值验证。</p>
<p>3、<a href="https://github.com/charmbracelet/pop">pop v0.2 发布</a></p>
<p>通过终端发送邮件。</p>
<p>4、<a href="https://github.com/openfga/openfga">openfga v1.3 发布</a></p>
<p>一个高性能和灵活的授权/权限引擎。</p>
<p>5、<a href="https://github.com/avast/retry-go">retry-go v4.5 发布</a></p>
<p>简单的重试机制包。</p>
<p>6、<a href="https://github.com/go-kratos/kratos">kratos v2.7 发布</a></p>
<p>B 站开源的 Go 微服务框架。</p>
<h2>文章</h2>
<p>1、<a href="https://mp.weixin.qq.com/s/6dLtjHbtDRekVHC8G_Rv9w">Go 每日一库之 zap 高性能设计与实现</a></p>
<p>zap 是 Uber 开源的 Go 高性能日志库,性能远超于标准库和其他开源日志库。</p>
<p>2、<a href="https://mp.weixin.qq.com/s/YIz1s5eSXy3t4feSWxJiAg">Go中url.ParseRequestURI和url.Parse函数的踩坑记</a></p>
<p>实际工作中遇到的问题。</p>
<p>3、<a href="https://mp.weixin.qq.com/s/FLW0v_3qZOi8GjB3dtDavA">Go 2永远不会给Go 1带去破坏性变化</a></p>
<p>rsc 说不会破坏。</p>
<p>4、<a href="https://mp.weixin.qq.com/s/am9dfFLnRE51ETwEnsOu2w">Go每日一库之 vegeta — http压力测试工具库</a></p>
<p>今天给大家推荐的是一个对HTTP接口做压力测试的工具:vegeta。</p>
<p>5、<a href="https://dev.to/mokiat/proper-http-shutdown-in-go-3fji">在 Go 中正确关闭 HTTP</a></p>
<p>直到今天,我仍然遇到在Go中优雅地关闭HTTP服务器时遇到问题的代码。这就是为什么我决定写一篇关于这个的文章。</p>
<p>6、<a href="https://colobu.com/2023/08/18/go1-21-generics/">Go 1.21 中的泛型推断</a></p>
<p>Go 1.21 已经发布了,带来了一系列的改进,例如更好的泛型类型推断(本文的内容);新的内置函数min<code>,max和clear</code>;以及标准库中的几个新软件包(maps<code>,slices</code>,cmp<code>,log/slog和testing/slogtest</code>)。</p>
<h2>开源项目</h2>
<p>1、<a href="https://github.com/ebitengine/oto">oto</a></p>
<p>在多个平台上播放声音的低级库。</p>
<p>2、<a href="https://github.com/iamkoch/ensure">ensure</a></p>
<p>基于场景的 Go 测试框架。</p>
<p>3、<a href="https://github.com/lomsa-dev/gonull">gonull</a></p>
<p>用于轻松处理可为空值的Go包。</p>
<p>4、<a href="https://github.com/swiftcarrot/queryx">queryx</a>(作者自荐)</p>
<p>支持数据库自动管理的 Go ORM。</p>
<p>5、<a href="https://github.com/here-Leslie-Lau/mongo-plus">mongo-plus</a>(作者自荐)</p>
<p>简易的mongodb库。</p>
<h2>资源&&工具</h2>
<p>1、<a href="https://www.jaminologist.com/gophercon-uk-2023-the-ultimate-review-were-so-back/">GopherCon UK 2023</a></p>
<p>终极回顾 - 我们回来了!</p>
<p>2、<a href="https://changelog.com/gotime/288">Go 播客第 288 期</a></p>
<p>深入了解 Go 的堆栈。</p>
<p>3、<a href="https://aicodeconvert.com/">开源的代码转换工具(作者自荐)</a></p>
<p>支持:自然语言转代码,描述需求就生成对应的代码;把代码一键转换为另一种代码语言实现。</p>
<p>4、<a href="https://github.com/giftDad/protoc-gen-validate">protoc-gen-validate</a>(作者自荐)</p>
<p>基于proto文件的注解,为每个 message 生成 validate 函数。</p>
<p>5、<a href="https://github.com/Kubernetes-Learning-Playground/multi-cluster-informer">multi-cluster-informer</a></p>
<p>基于golang实现的k8s多集群多资源的简易informer监听。</p>
<h2>订阅</h2>
<p>这个周刊每周日发布,同步更新在<a href="https://studygolang.com/go/weekly">Go语言中文网</a>和<a href="https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91">微信公众号</a>。</p>
<p>微信搜索"Go语言中文网"或者扫描二维码,即可订阅。</p>
<p><img src="https://imgproxy.citrusreader.com/lLKBPWt3y7qcSOJ57zPWJ1cjQNtzKEtVJEnwGrrE00k/raw:1/aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3BvbGFyaXMxMTE5L2dvbGFuZ3dlZWtseS9tYXN0ZXIvZG9jcy9pbWdzL3dlY2hhdC5wbmc" alt="wechat" referrerpolicy="no-referrer"></p>