Go语言爱好者周刊:第 123 期
共 2379字,需浏览 5分钟
·
2021-12-18 14:13
这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly[1]),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[2] 。
鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
由于微信公众号不支持外链,文中大量链接可通过文末「阅读原文」查看。
题图:GopherCon 2021
刊首语
上期是一道关于 array 的题目,答题正确率 51%。
package main
import (
"fmt"
)
func main() {
v := [...]int{1: 2, 3: 4}
fmt.Println(len(v))
}
A:2;B:编译失败;C:3;D:4
正确答案是 D。要注意,除了 map,array(slice) 初始化时也是可以指定索引的。该题有一个索引 3,根据数组的特点,必然有小于 3 的所有也存在,上题中,v 的值是:[0, 2, 0, 4]。
本期是一道小题目:
package main
import "fmt"
func main() {
var i float64 = 3 / 2
fmt.Print(i)
}
资讯
1、Go 1.17.5 和 Go 1.16.12 发布:安全更新
主要包含两个安全问题修复:net/http 和 syscall。
go.dev/play 支持 tip 了。
3、gnet 1.6 发布[3]
一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。
文章
有许许多多可以组织项目的方式。
竞态条件如何处理?
3、Go:通过 io.Writer 将 JPEG 转为 JFIF
Go 的标准库可让你对 JPEG 图像进行编码,但如何转为 JFIF。
zip 文件很常见,通过该文可以更好的了解该格式文件。
5、Go 在 Google:服务于软件工程的语言设计(翻译)
Rob Pike在 2012 年 SPLASH 2012 会议上发表的演讲的修订文章。
本文介绍用于 map 相关操作的包,目前放在 golang.org/x/exp 包下。
开源项目
1、oto[4]
支持多平台的播放声音的低级库。
2、id3v2[5]
用于 Go 的 ID3 解码和编码库。
3、flac[6]
flac 包提供对 flac(免费无损音频编解码器)流的访问。
4、at[7]
用于创建 trade 机器人的 Go 框架。
资源&&工具
1、gotenberg[8]
Docker 支持的 PDF 文件无状态 API,https://gotenberg.dev/。
2、plumber[9]
瑞士军刀 CLI 工具,用于与 Kafka、RabbitMQ 和其他消息传递系统交互。
3、awesome-go-education[10]
Go 教育资源速查表。
4、GopherCon 2021[11]
两天视频,这是第二天的:https://www.youtube.com/watch?v=Gcp2ACyCadA。
5、imagor[12]
用 Go 和 libvips 编写的高性能图像处理服务器。
订阅
这个周刊每周日发布,同步更新在Go语言中文网[13]和微信公众号[14]。
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。
参考资料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]gnet 1.6 发布: https://github.com/panjf2000/gnet
[4]oto: https://github.com/hajimehoshi/oto
[5]id3v2: https://github.com/bogem/id3v2
[6]flac: https://github.com/mewkiz/flac
[7]at: https://github.com/sklinkert/at
[8]gotenberg: https://github.com/gotenberg/gotenberg
[9]plumber: https://github.com/batchcorp/plumber
[10]awesome-go-education: https://github.com/mehdihadeli/awesome-go-education
[11]GopherCon 2021: https://www.youtube.com/watch?v=35eIxI_n5ZM
[12]imagor: https://github.com/cshum/imagor
[13]Go语言中文网: https://studygolang.com/go/weekly
[14]微信公众号: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91