Go语言爱好者周刊:第 123 期

Go语言精选

共 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{1234}
 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。

2、Go playground 再增强

go.dev/play 支持 tip 了。

3、gnet 1.6 发布[3]

一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。

文章

1、如何在 Go 中组织项目结构

有许许多多可以组织项目的方式。

2、Go:有了 sync 为什么还有 atomic?

竞态条件如何处理?

3、Go:通过 io.Writer 将 JPEG 转为 JFIF

Go 的标准库可让你对 JPEG 图像进行编码,但如何转为 JFIF。

4、Go:不用标准库如何解压 zip 文件?

zip 文件很常见,通过该文可以更好的了解该格式文件。

5、Go 在 Google:服务于软件工程的语言设计(翻译)

Rob Pike在 2012 年 SPLASH 2012 会议上发表的演讲的修订文章。

6、Go泛型系列:maps 包有什么?

本文介绍用于 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语言中文网"或者扫描二维码,即可订阅。

wechat

参考资料

[1]

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


浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报