这里记录每周值得分享的 Go 语言相关内容,周日发布。本周刊开源(GitHub:polaris1119/golangweekly[1]),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[2] 。
鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
由于微信公众号不支持外链,文中大量链接可通过文末「阅读原文」查看。
题图:ChatGPT + Golang,https://betterprogramming.pub/chatgpt-golang-a7bd524e7563
1、slog[3]
结构化日志库将要进入标准库了。结构化日志指南:https://betterstack.com/community/guides/logging/logging-in-go/。
2、task v3.22.0 发布[4]
一个任务运行/构建工具,旨在比 GNU Make 更简单,更易于使用。
3、revive v1.3 发布[5]
一个旨在提供更多结构和可配置性的 Golint 的替代品。它的速度据说有数倍提升。
4、chromedp 0.9 发布[6]
驱动浏览器的 Go 语言库,支持 Chrome DevTools 协议。抓取动态网页利器。
5、oto 2.4 发布[7]
支持多平台的播放声音的低级库。
6、iris 12.2 发布[8]
一个社区驱动的 Go 语言 Web 框架。
7、color 1.15 发布[9]
颜色文本输出包。
8、golang-lru 2.0.2 发布[10]
LRU 算法的实现。
9、FerretDB v0.9.3[11]
MongoDB 的替代品。
10、golang-set 2.3 发布[12]
Go 语言的简单通用集合(Set)类型。
在一个接口里面嵌入另一个接口,是 Go 语言里最简单的一种嵌入方式,因为接口只定义了抽象能力,并没有为类型定义新的数据和行为。
前些天接到一个 Oncall,来自 Lark 的胡同学反馈,用 gRPC 官方的 python 客户端请求 Kitex gRPC Server,有时收到的 response 为 None。
3、Go每日一库之使用 Singleflight 优化你的代码
有很多方法可以优化代码以达到提高程序运行效率,减少进程数就是其中之一。
4、一文搞懂Go subtest[13]
在本文中,我将结合日常开发中了解到的关于subtest的认知、理解和使用的问题,和大家一起聊聊 subtest。
1、markdown[14]
Markdown 解析器和 HTML 显示器。
2、scale[15]
高性能 WebAssembly 函数运行时。
3、dynamodbav[16]
DynamoDB 的 Marshal/Unmarshal 实用程序。
4、sonic[17]
Go 博客平台。
5、watcher[18]
一个 Go 包,用于在不使用文件系统事件的情况下监控文件或目录更改。
6、flipt[19]
一个开源的、自托管的功能标志解决方案。
1、traceutils[20]
用于解码和编码 runtime/trace 文件的代码以及有用的功能。
2、ko[21]
构建和部署 Go 应用。
这个周刊每周日发布,同步更新在Go语言中文网[22]和微信公众号[23]。
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]slog: https://github.com/golang/go/issues/56345#issuecomment-1470506816
[4]task v3.22.0 发布: https://github.com/go-task/task/releases/tag/v3.22.0
[5]revive v1.3 发布: https://github.com/mgechev/revive
[6]chromedp 0.9 发布: https://github.com/chromedp/chromedp
[7]oto 2.4 发布: https://github.com/hajimehoshi/oto
[8]iris 12.2 发布: https://github.com/kataras/iris
[9]color 1.15 发布: https://github.com/fatih/color
[10]golang-lru 2.0.2 发布: https://github.com/hashicorp/golang-lru
[11]FerretDB v0.9.3: https://github.com/FerretDB/FerretDB
[12]golang-set 2.3 发布: https://github.com/deckarep/golang-set
[13]一文搞懂Go subtest: https://tonybai.com/2023/03/15/an-intro-of-go-subtest/
[14]markdown: https://github.com/gomarkdown/markdown
[15]scale: https://github.com/loopholelabs/scale
[16]dynamodbav: https://github.com/ryanc414/dynamodbav
[17]sonic: https://github.com/go-sonic/sonic
[18]watcher: https://github.com/radovskyb/watcher
[19]flipt: https://github.com/flipt-io/flipt
[20]traceutils: https://github.com/felixge/traceutils
[21]ko: https://github.com/ko-build/ko
[22]Go语言中文网: https://studygolang.com/go/weekly
[23]微信公众号: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91