Go语言爱好者周刊:第 68 期
这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:https://github.com/guark/guark,使用 Go 构建超棒的桌面应用
刊首语
Go 1.16(还未发布)编译的文件比 1.15 小了,有人利用 VictoriaMetrics 做了测试。
$ ls -lGg --si bin/
total 34M
-rwxr-xr-x 1 19M Nov 7 01:19 victoria-metrics-go1.15.4
-rwxr-xr-x 1 16M Nov 7 01:21 victoria-metrics-go-tip
这期看一道关于 IEEE-754 浮点数的题,以下代码输出什么?(题目来自 Go101)
package main
import "math"
func main() {
a, b, c := 2.0, 1.0, 0.0
x, y := a/c, b/c // infinity
n := math.NaN() // not a number
m := math.Sqrt(-1.0) // not a number
println(x == y, m == n)
}
A:true true;B:true false;C:false false;D:false true
资讯
云原生微服务开发平台,相比之前有特别大的变化。
小版本发布,修复一些 bug。
只是个人的言论吧。
用于记录数据库文档的 CI 友好工具。
支持类型参数中的方括号。欢迎试用提建议。
文章
2020 年 10 月 30 日,Russ Cox 提交了最终的实现,意味着你在 tip 版本可以试用该功能了。Go1.16 版本会包含该功能。欢迎大家试用,反馈建议。
2、图解:宏观角度看 Go 语言如何实现垃圾回收中的 Stop the World
本篇文章讨论实现原理基于 Go 1.13。
微服务架构中,调用链可能很漫长,从 http 到 rpc ,又从 rpc 到 http 。而开发者想了解每个环节的调用情况及性能,最佳方案就是 全链路跟踪。
4、来自 HackerNew 的讨论:人生苦短,我要换Go!
Python 爱好者换 Go?
这个工具值得大家一试。
看懂需要一定的功力。
Glow,Charm 主打的产品。
切片底层不就是指针指向底层数组数据吗,为何不直接传递切片,两者有什么区别?
Go 的一系列内存管理手段(内存分配,垃圾回收,内存访问检查)使许多开发者的开发工作变得很轻松。编译器通过在代码中引入“边界检查” 来确保安全地访问内存。
本文记录了一些我的踩坑经验,希望能给还在挣扎中的 Gopher 一些帮助。
开源项目
1、limiter
Rate Limit 中间件,支持 HTTP、FastHTTP,Gin、Echo 等框架。
灵活而强大的 SQL 字符串构建器库以及零配置 ORM。
3、scan
直接将 database/sql 行扫描到结构体、slice 和基本类型。
4、gosivy
实时图形化展示 Go 进程度量数据。
Go 云原生构建包。
6、gogm
用于 Neo4j 的 Golang 对象图映射器。
7、carbon
用于日期时间的简单,语义化且对开发人员友好的 golang 软件包。
优雅的 Web 框架 goyave 模板项目。
9、qs
用于将结构体编码为 URL 查询参数的库。
10、webbrowser
Go 中的 Python 网络浏览器。用于在默认浏览器上打开网页的简单 API。
资源&&工具
1、imgcat
在终端上将图像输出为 RGB ANSI 图形的工具。
2、https://github.com/pterm/pterm
一个现代化的 Go 模块,用于美化控制台输出。具有图表、进度条、表格、树等,完全可配置且 100% 跨平台兼容。
3、goxygen
使用 Go, Angular, React 或 Vue 快速开发现代 Web 项目。这是在原来的基础上做了改进。
4、kubei
k8s 集群中镜像的即时漏洞扫码工具。
和之前版本没区别?
Go 语言是如何帮助拯救美国医保网站的。
7、reporter
从 Grafana 仪表板生成 PDF 报告的服务。
8、aresdb
由 GPU 驱动的实时分析存储和查询引擎。Uber 出品。
Go 的静态分析器,建议对结构字段进行重新布置以提供最大的空间/分配效率。这里有一篇介绍文章:https://medium.com/orijtech-developers/efficient-struct-packing-guided-pass-for-go-92255872ec72。
它通过有意义的示例介绍了大多数功能和概念。
订阅
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。