Go语言爱好者周刊:第 102 期
这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:GORM
刊首语
简单解释下上期的题目:
package main
var n = -99
func main() {
m := make(map[string]int, n)
println(m["Go"])
}
A:0;B:panic;C:不知道
答案是 A。48% 的人答对了。注意,从 map 获取数据,即使 map 是 nil,也不会 panic。通过 make 创建 map 时,第 2 个参数可以为负数,以下是等价的:
make(map[string]int, -99)
make(map[string]int, 0)
make(map[string]int)
具体可以参考:https://github.com/golang/go/issues/46909。
本期是一道关于 channel 的题目:
package main
import (
"fmt"
)
func main() {
c := make(chan int)
close(c)
val, _ := <-c
fmt.Println(val)
}
A:运行时死循环;B:0;C:编译不通过;D:不确定
资讯
Cobra 是一个构建现代 CLI APP 的框架。
内部服务的 Go 单点登录方案。
github copilot 的 Go 编码实践。
4、惊呆了!Go 代码的第一次提交竟然是 1972 年。。。
Go Team 的彩蛋?
这是一个基于 LLVM 的、用于一些特定小场景的 Go 编译器,比如 WebAssembly、Microcontrollers 和 命令行工具等。在周刊的第 1 期推荐过。这次版本主要提升了反射性能、扩展和提升调度器性能等。
6、GoLand 2021.2 EAP Build #6 发布
新增 “保存和清理的欢迎” 界面上的 “新设置” 菜单。
这本书之前介绍过。现在可以购买。
谁在招 Gopher
整理近期的 Go 职位。有招聘需求可以到「Go招聘」发布!
1、Aibee开放大量Golang职位,快来和小姐姐做同事喽!
2、【北京|深圳-腾讯微视】短视频Top企业招聘Gopher
文章
新手练习项目。
本文致力于说明在 Go 中实现 -w 和 -s 标志的效果,并提供可以更有效地使用它们的方法。
Go module不但遵循语义化版本规范 2.0.0,而且还更进一步,对语义化版本中的major还还赋予了更深的意义。
在使用 Go 编写复杂的服务时,您将遇到一个典型的主题是中间件。
本文我们将探讨如何封装Go的error类型以在应用程序中带来更大的价值。
明年出版。
真的卷的飞起。
什么问题呢?
采样工具(Sampling tools)采用一个测量的子集来描绘目标的粗略情况;这也被称为创建一个profile或profiling(剖析)。
开源项目
创建 Kubernetes mutating 和 validating 网络钩子的 Go 框架。
2、horahora
Niconico, Bilibili 和 Youtube 的自托管视频托管网站和视频档案管理器。
3、riot
开源,分布式,简单高效的全文搜索引擎。
4、kazaam
JSON 的任意变换。
资源&&工具
1、fibratus
Windows 内核勘探和追踪的现代工具。
2、alda
用于音乐创作的基于文本的编程语言。
Spotify 终端客户端。
4、coronaqr
用于欧盟数字 Covid 证书(EUDCC)QR 码数据的 Go 解码器。
通过 pop quiz 来学习 Go。
6、x-stock
财报分析,股票检测,基本面选股,基金检测,基金筛选,Go 实现。
用 vue3 开发的一个 json 转 Go 结构体工具网站。
8、go-strip
消除 Go 的编译特征。
订阅
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。