Skip to content
On this page

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

这里记录每周值得分享的 Go 语言相关内容,周日发布。

本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue

鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。

题图:来自 https://threedots.tech/post/basic-cqrs-in-go/

刊首语

前两天分享了一个安装和管理 Go 版本的工具 goup,其中存在的一些问题或需要增强的功能。其中,解决升级到最新版本不能访问的问题,现在可以通过配置如下环境变量实现:

bash
$ GOUP_GO_HOST=golang.google.cn goup install

Go tip 源码改成了从 GitHub 获取,但 tip 的 CL 源还是 googlesource.com,因为 CL googlesource 的概念。

此外也增加了我提到的功能:

  • goup ls-ver:列出所有的 Go 版本;
  • goup show:显示安装了的 Go 信息;
bash
$ goup show
| VERSION | ACTIVE |
|---------|--------|
| 1.10.8  |        |
| 1.14.9  |        |
| 1.15.2  |   *    |
|   tip   |        |
  • goup remove:删除某个 Go 版本;

资讯

1、增加 errors.ErrUnsupported 的提议被接受

增加这个的提议,是考虑到有时候一些操作对某些平台可能不支持。这时候可以返回这个错误。

2、Amazon CloudWatch Agent 开源了

默认包含在 Amazon Linux 2 (AL2) 中。AL2 用户可以使用 yum 软件包管理器安装 CloudWatch 代理。您还可以访问 CloudWatch 代理源代码并在 GitHub 中为其开发提供帮助。

3、ksqlDB Go 客户端 0.0.4 发布

Kafka 原生 ksqlDB 事件流数据库的客户端。

4、Go 1.16 可能支持将 []T 转换为 *[N]T

可以看 issue 的讨论,这个 issue 可是 2009 年提的。

5、todocheck 0.3.0 发布

一个带有注释的 TODO 注释的静态代码分析器。

文章

1、你真的懂 string 与 []byte 的转换了吗

string 类型和 []byte 类型是我们编程时最常使用到的数据结构。本文将探讨两者之间的转换方式,通过分析它们之间的内在联系来拨开迷雾。

2、谷歌内部 Go 使用案例:核心数据解决方案团队是如何使用 Go 的?

在这个案例研究中,Google 的核心数据解决方案团队分享了他们的 Go 旅程,包括他们决定在 Go 中重写 web 索引服务,利用 Go 的内置并发性,并观察 Go 如何帮助改进开发过程。

3、在 iOS 和 Android 上运行 Go 代码

在本教程中,我们将构建一个简单的 Go 包,您可以从 iOS 应用程序(Swift)和 Android 应用程序(Kotlin)运行该软件包。

4、Gin实战项目推荐:为静态博客增加评论功能

今天推荐的这个开源项目,是一个 Disqus 的开源替代品。

5、golang 源码阅读 —— bufio

这篇博客将解析 bufio 有关文件读写方面的源代码实现及其常用的方法。

6、Go 运行时调度器处理系统调用的巧妙方式

一篇短文。

7、想要 4 个 9?本文告诉你监控告警如何做

想真正做到上述所说的成熟且规范,业务共建,有难度,需要多方面认同和公司规范支撑才能最佳实现。因此共同认可,求同存异,多做用户反馈分析也非常重要。

8、终于找到了一款我喜欢的安装和管理 Go 版本的工具

goup 试试?

9、观点:Go 尚未准备好用于企业系统,原因在这里

你认同吗?

10、Golang 函数式编程简述

一般而言,Golang 的 Functional 编程都会呈现出恶形。表面上看,恶形是因为 Golang 缺少一些必要的语法糖;本质上说,恶形源于它没有高级抽象能力,正如泛型的缺失。

11、调试+图解 channel 的内部实现

调试加图的方式学习 channel。

12、一文掌握 CGO 处理字符串的问题:写 CGO 必看

cgo 的大量文档都提到过,它提供了四个用于转换 Go 和 C 类型的字符串的函数,都是通过复制数据来实现。

开源项目

1、mtproto

Telegram API 的 Go 实现。

2、gosoap

Go soap 操作包。

3、goconst

在 Go 中查找可以被常量替换的重复字符串。

4、gnomock

无需 mock 的 Go 代码测试框架。

5、sploit

一个帮助二进制分析和开发的库。

6、bbgo

用 Go 编写的加密货币交易框架。

7、bubbletea

一个强大的小型 TUI 框架。构建终端应用程序的有趣,实用和有状态的方式。一个基于 Elm 架构的 Go 框架。 Bubble Tea 非常适合于简单和复杂的终端应用程序,无论是嵌入式,全窗口或两者兼而有之。

8、go-zero

一个集成了各种工程实践的 web 和 rpc 框架。内置强大的goctl工具,极简API语法,一键生成微服务结构代码。

资源&&工具

1、bit

现代的 Git CLI 工具。试用了下,挺棒!给 Git 带来了一些额外的好东西,包括文件和分支名称自动完成、命令和标志建议,甚至一些新的命令。

2、Hetty

用于安全研究的 HTTP 工具包。具有 Web 接口和代理日志查看器的拦截 HTTP 代理。目标是成为像 Burp Suite Pro 这样的商业软件的开源替代品。

3、config-parser

HAProxy 配置解析。

4、server

通过浏览器共享开发者屏幕。

5、glorp

一个可以进行 HTTP 截获与重放代理的 CLI 工具。

6、播客第 149 期

如何教授 Go 语言。

7、statsviz

在浏览器中实时查看 Go 应用程序运行时统计信息(GC,MemStats 等)。

8、gotp

一个命令行工具,用于获取,添加和删除 Google Authenticator 样式 2fa 代码。

9、kubecolor

为你的 kubectl 输出着色。

10、go-autowire

使用注解自动生成 wire 依赖注入文件。

订阅

这个周刊每周日发布,同步更新在Go语言中文网微信公众号

微信搜索"Go语言中文网"或者扫描二维码,即可订阅。

wechat

Released under the MIT License.