这里记录每周值得分享的 Go 语言相关内容,周日发布。本周刊开源(GitHub:polaris1119/golangweekly[1]),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[2] 。
鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
由于微信公众号不支持外链,文中大量链接可通过文末「阅读原文」查看。
题图:Web Server
上期题目解析。以下代码输出什么?
package mainimport (
"context"
"fmt"
)
func main() {
ctx, _ := context.WithTimeout(context.Background(), 0)
<-ctx.Done()
fmt.Println("timed out")
}
A:timed out;B:panic;C:没有任何输出
正确答案:A。正确率 47%。
1、Echo v4.8 发布[3]
高性能的 REST 框架。
2、imagor v1.0.0 发布[4]
用 Go 和 libvips 编写的高性能图像处理服务器。
3、juicefs v1.0 发布[5]
基于 redis 和 S3 构建的分布式 POSIX 文件系统。
4、sarama v1.36 发布[6]
Sarama 是 Apache Kafka 0.8 及更高版本的 Go 库。
5、sonic 1.3.5 发布[7]
字节开源的高性能 json 编解码库。
6、freecache 1.2.2 发布[8]
Go 缓存库,具有零 GC 开销和高并发性能。
7、RedisShake 3.0 发布[9]
阿里开源的Redis数据同步工具,Go 语言实现。
GRM 是基于 go+vue 的 web 版 redis 管理工具,部署简单便捷,支持 SSH 连接,用户校验,操作日志、命令行模式、LUA脚本执行等功能。
TIOBE 公布了 2022 年 8 月的编程语言排行榜。
近期,应该有不少人看到了,Google 要出另外一门编程语言:Carbon。虽然号称是 C++ 的继任者,但不少人可能会有疑问:会不会扼杀 Go 语言的势头?毕竟也是 Google 出的。
本文是笔者结合自身经验和认知的一点观后感,采用从零开始层层递进的方法,总结剖析了其背后的软件设计思想,希望对读者更好地理解goroutine调度GMP模型会有所帮助。
1、algernon[10]
小型独立的纯 Go Web 服务器,支持 Lua、Markdown、HTTP/2、QUIC、Redis 和 PostgreSQL 等。
2、haxmap[11]
最快、内存效率最高的 golang 并发 hashmap。
3、nff-go[12]
Go Network Function 框架。
4、tdigest[13]
Ted Dunning t-digest 算法的 Go 实现。
1、Go Time 第 242 期[14]
依赖管理之痛。
2、gotv[15]
一个用于管理多个 Go 工具链版本安装的工具。
3、infinite[16]
用 Golang 开发的交互式命令行(终端)组件库。作者投稿。
这个周刊每周日发布,同步更新在Go语言中文网[17]和微信公众号[18]。
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]Echo v4.8 发布: https://github.com/labstack/echo/releases/tag/v4.8.0
[4]imagor v1.0.0 发布: https://github.com/cshum/imagor
[5]juicefs v1.0 发布: https://github.com/juicedata/juicefs
[6]sarama v1.36 发布: https://github.com/Shopify/sarama
[7]sonic 1.3.5 发布: https://github.com/bytedance/sonic
[8]freecache 1.2.2 发布: https://github.com/coocood/freecache
[9]RedisShake 3.0 发布: https://github.com/alibaba/RedisShake
[10]algernon: https://github.com/xyproto/algernon
[11]haxmap: https://github.com/alphadose/haxmap
[12]nff-go: https://github.com/intel-go/nff-go
[13]tdigest: https://github.com/influxdata/tdigest
[14]Go Time 第 242 期: https://changelog.com/gotime/242
[15]gotv: https://github.com/go101/gotv
[16]infinite: https://github.com/fzdwx/infinite
[17]Go语言中文网: https://studygolang.com/go/weekly
[18]微信公众号: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91