这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:生成的 O’RLY 图书封面。地址见后文。
上期周刊题解见:《说好 defer 在 return 之后执行,为什么结果却不是》。
这次来一道更简单的题目。以下代码输出什么?
package main
import (
"fmt"
)
func main() {
a := make([]int, 20)
a = []int{7, 8, 9, 10}
b := a[15:16]
fmt.Println(b)
}
A:[0];B:panic;C:7;D:不清楚
免费试用 30 天。
官方博文。
让 HTTP 流量 mock 和测试变得简单。
发布在 GoLand 官方博客。
类型安全的 Redis 客户端。
安全小版本更新。
整理近期的 Go 职位。有招聘需求可以到「Go招聘」发布!
1、Go1.16 中的新函数 signal.NotifyContext 怎么用?
os/signal 这个包大家可能用的不多。但自从 Go1.8 起,有些人开始使用这个包了。
有些错误很常见。
uber 开源的提供快速,结构化,高性能的日志记录包。
看到耗子叔发推文推荐了一个新开源的网关:Easegress。
stringer 命令的目标是自动生成满足 fmt.Stringer 接口的方法。它将为指定的类型生成 String() 方法, String() 返回的字符串用于描述该类型。
高端黑?
cgo 使用者可以看看。
永远的话题。
什么是可重入锁?
前端通常会通过后台提供的接口来获取数据来完成前端页面的渲染,前端可以为 PC 端、M 端、小程序、APP 等。
这是一个 API 设计的思想实验。
SliceHeader 和 StringHeader。
1、gopatch
Go 实现的 patch 工具(类似 Unix 的 patch 工具),Uber 出品。
2、quic
Go 语言 quic 实现。
3、tstorage
快速时间序列数据库。
4、sonic
字节开源的高性能 json 编解码库。
全能型流量编排系统。国人开发。
6、go-i18n
Go 国际化库。
建议收藏。
2、GoWebSSH
Go 实现的一个 WebSSH 管理工具,支持文件上传下载。作者投稿。
3、orly
使用 Go 生成你自己的 O’RLY 动物书封面。在线使用:https://orly.nanmu.me/。
4、xo-grpc
从数据库创建 gRPC 服务器。
5、netz
发现互联网组件服务的配置错误。
用 eBPF 编写的简单跨语言(Go、Rust、C/C++)连续性能剖析器。地址:https://github.com/pixie-labs/pixie-demos/tree/main/ebpf-profiler。
结合多个采样分析器,对 CPU 开销进行统一的可视化分析,支持 Go、Java 和 Python。
一个 protobuf 编译器,为 ProtoBuf APIv2 生成优化的 marshaling 和 unmarshaling Go 代码。
9、slides
Go 实现的基于命令行终端的 slide 演示工具。
10、promdump
支持读取和打印 Prometheus 持久性数据块,支持按时间范围过滤持久性块。
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。