这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:一本在线图书
Go101 又除了一道细节的题目,看看你答对了吗?(之前周刊有过一道类似的题目)
package main
func main() {
var x = []int{4:44, 55, 66, 1:77, 88}
println(len(x), x[2])
}
A:5 66;B:5 88;C:7 88;D:以上都不对
整理近期的 Go 职位。有招聘需求可以到「Go招聘」发布!
用于访问各种文件系统一致的 API。还可以让你创建完全不依赖磁盘的模拟和测试文件系统。viper 和 cobra 作者的又一开源作品。目前已经支持 Go1.16 的 io/fs.FS 接口。
Grafana 是一个功能丰富的指标标准仪表板和图形编辑器,用于分析和监控 Graphite、Elasticsearch、OpenTSDB、Prometheus 和 InfluxDB。
1、RedMonk 编程语言排行榜,说 Go 正走向衰退,你认可吗?
2021 年 3 月 1 日,RedMonk 发布了 2021 年 1 月 编程语言排行榜(实际是 1 月 和 2 月的数据)。
在微软 Docs 网站发现了一个 Go 教程,英文叫做:《Take your first steps with Go》,中文叫做:《开始使用 Go》。
3、Go 泛型尝鲜
可以通过自己编译 master 分支的方式,开始领略 Go 泛型的风采。
本文会列举一些我和我的同事使用 go mod 时碰到的问题,有些问题是 go mod 本身的问题,有些可能是第三方 goproxy 实现的问题。
在本教程中,我们将创建一个基于用户 IP 地址进行速率限制的简单的中间件。
Go 语言在构建微服务、特别是有使用 gRPC 的应用中,非常地流行,其实在构建命令行程序时也是特别地好用。为了学习扇出模式,我会基于我们公司使用 ETL 的例子,来介绍这个模式。
本文不深入探讨如何解析源代码,先从 AST 建立后的描述开始。
接口是高级语言中的一个规约,是一组方法签名的集合。
本文使用的 Go 的源码1.15.7
10、Go 群友提问:进程、线程都有 ID,为什么 Goroutine 没有 ID?
这篇文章我们根据 GoroutineID 的历史,作用,原因,骇客方法进行了逐一梳理,摸索了下里面究竟为何物。
11、对 Go 1.16 io/fs 设计的第一感觉:得劲儿!
Go语言的接口是Gopher最喜欢的语法元素之一,其隐式的契约满足和“当前唯一可用的泛型机制”的特质让其成为面向组合编程的强大武器,其存在为Go建立事物抽象奠定了基础,同时也是建立抽象的主要手段。
本文就从源码角度剖析 Go Mutex, 揭开 Mutex 的迷雾。
13、难以驾驭的 Go timer,一文带你参透计时器的奥秘
这篇文章中我们将对 timer 做分析和研讨。
1、pb
控制台程序的简单进度条。
2、daz
可组合的 HTML 组件。
针对 GitHub v3 API,REST 风格。Google 出品。
Go 结构注释,支持编码和解码;支持位域打包,自描述布局参数和对齐方式。
wayland 协议的 Go 实现。
6、ant
Go 实现的 Web 爬虫。
1、xbar
将任何脚本或程序的输出放入您的 macOS 菜单栏中。
Go 并发代码评审 checklist。
3、octotui
在命令行终端查看 GitHub 状态。
这本书的目标是以渐进方式讲解 Go 语言。作者还试图解释一些难以掌握的计算机科学概念,对于新人来说很有用。
使用 Go Ebiten 重写老旧的 flash 游戏。
6、mubeng
令人难以置信的快速代理检查器和 IP 旋转器。
Go设计哲学。
8、ksniff
用于 k8s pod 间流量 sniff 的 kubectl 插件。
9、teller
开发人员使用的密码管理器。
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。