这儿历史记录每星期值得称赞撷取的 Go 词汇有关文本,星期四正式发布。
本月刊开放源码(GitHub:polaris1119/golangweekly),热烈欢迎征稿,所推荐或毛遂自荐该文/软件/天然资源等,请递交 issue 。
有鉴于大部分人可能将根本无法秉持把英语该文看完,因而,月刊中会尽量所推荐高质量的英文该文。杰出的英语该文,他们的 GCTT 组织机构会展开译者。
宋军兵:Russ Cox 有关 Go 中嵌入动态天然资源的音频
刊首语
这期月刊再来面试题,下列标识符只注解掉 ② 输入甚么?假如只注解 ① 又输入甚么?
package mainimport ( “fmt”)func main() { a := [2]int{5, 6} b := [2]int{5, 6} // ① if a == b { fmt.Println(“equal”) } else { fmt.Println(“not equal”) } // ② if a[:] == b[:] { fmt.Println(“equal”) } else { fmt.Println(“not equal”) }}
资料库
1、Go 1.15.1 和 Go 1.14.8 正式发布
解决最近报告的安全问题。
2、gorm 2.0正式发布
为国人点赞。
3、有关在 Go Binaries 中嵌入文件的提案的更新:预计今年 Go1.16 中包含
得益于动态编译,Go 项目部署特别方便。然而假如是一个网站项目,包含静态天然资源,这时如何做到只需一个文件呢?社区有很多解决方案,可见需求常有。所以,Go Team 决定内置全力支持。有一个音频撷取:https://www.youtube.com/embed/rmS-oWcBZaI。
4、zap 1.16 正式发布
Go 中快速,结构化,全力支持级别的日志历史记录。Uber 出品。
该文
1、Go 到底是不是 Google 亲生的?Rob Pike 告诉你
大家都知道 Go 是 Google 的,但总是有一种错觉:Go 不是 Google 亲生的吧?!为甚么会这样觉得?
2、文本编辑器大比拼:谁才是真正的编辑器之王?
为大家带来玩转 VS Code 系列。
3、动态作用域?Dave Cheney 大神由 Go 单元测试惯用形式所想
这是一个 API 设计的思想实验,它从典型的 Go 单元测试惯用形式开始。
4、谈谈 Golang HTTP服务器实现原理
有关 Golang HTTP 服务器实现原理,本文将通过下面两点来讲述:
如何创建一个 HTTP 服务器;HTTP 服务器实现原理;5、Golang 标准库 sync.WaitGroup 解读
源码面前无秘密。
6、使用 Go 实现 lock-free 的队列
本文介绍 lock-free queue 算法的一些背景知识,并实现了三种并发队列,并提供了性能测试的结果。
7、IO 操作库那么多,我咋选?谈谈对 Go IO 读写的困惑
Golang 的 IO 读写提供了很多种方式,目前本人知道的有 io 库、os 库、ioutil 库、bufio 库、bytes/strings 库等。
8、用 Go 开发桌面应用程序(GUI):Webview、Lorca 与 Electron
本文将探讨如何使用 Lorca 和 Webview 构建应用程序,然后比较这三种的不同。
9、玩转 VS Code 之你可能将不知道的一些技巧
这篇该文介绍和具体词汇无关、认为值得称赞提到的点,方便后续用 VSCode 开发时更得心应手。
10、CGO 如何生成兼容 C 的结构体?
写 CGO 的可以看看。
12、卡通图文:你女朋友也能看懂的 Kubernetes!
关键有女朋友吗?
13、手把手带你理解 etcd:服务发现和分布式 KV 存储
etcd 是用于共享配置和服务发现的分布式、一致性的 KV 存储系统。本文从 etcd 项目发展所经历的几个重要时刻开始,为大家介绍了 etcd 的总体架构及其设计中的基本原理。希望能够帮助大家更好的理解和使用 etcd。
14、在 Go 词汇中 Patch 非导出函数
使用 https://github.com/cch123/supermonkey 可以 patch 任意导出/非导出函数。
开放源码项目
1、Echelon
终端分层进度条。
2、pulsar-client-go
Apache Pulsar Go 客户端。Apache Pulsar 最初由 Yahoo 构建的分布式消息和流媒体平台。
3、color
Go 下的命令行色彩使用库, 拥有丰富的色彩渲染输入,通用的 API 方法,兼容 Windows 系统。
4、db
具有类似 ORM 功能的 PostgreSQL,CockroachDB,MySQL,SQLite 和 MongoDB 的数据访问层。这儿有一个简单教程。
5、pgzip
展开并行 gzip 压缩/解压。可以作为标准库 compress/gzip 的替代品。
6、bravetools
端到端的系统容器管理平台。
7、dbr
database/sql 的性能增强库。
8、lakeFS
一个开放源码平台,为基于对象存储的数据库提供弹性和可管理性。
天然资源&&工具
1、一些使用 Go 泛型的例子
Go Team 维护。
2、gomplate
用于模板渲染的灵活命令行工具。全力支持许多本地和远程数据源,如 JSON, YAML, AWS EC2 metadata, BoltDB, Hashicorp Consul 和 Hashicorp Vault secrets 等。简单示例如下:
$ # at its most basic, gomplate can be used with environment variables…$ echo Hello, {{ .Env.USER }} | gomplateHello, hairyhenderson3、httpx
一个快速且多功能的 HTTP 工具包,它旨在通过增加线程来保持结果的可靠性。
4、Go.Sed
Go 中 sed 的实现。
5、dumpling
由 Go 词汇编写的用于对数据库展开数据导出的工具。目前全力支持 MySQL 协议的数据库,并且针对 TiDB 的特性展开了优化。这儿有官方的一篇介绍该文:https://segmentfault.com/a/1190000023879506。
6、rgo
R 词汇与 Go 集成工具。