Go语言爱好者周刊:第 95 期
这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:PingMe
刊首语
上周周刊的题目,正确率 62%,挺出乎意料的。不过有些人提到,感觉有陷阱,总觉得不那么简单。当然也有些人真的是做错了。可见,不少人的基础还是太弱,要加强!
今天依然一道简单的题目,希望你能自信点。
package main
import (
"fmt"
)
func main() {
s := []int{9, 8, 7}
p := &s
r := *p
r[0] = 11
fmt.Println(s[0])
}
A:9;B:11;C:编译错误;D:不确定
另外,大家有好的题目,欢迎提交给我。加我微信(274768166 或到 GitHub 提交 Issue:https://github.com/polaris1119/golangweekly)。
资讯
高性能的 Web 框架。
Go 的增强型 HTTP 客户端。
在 Go 中执行 JavaScript。
谁在招 Gopher
整理近期的 Go 职位。有招聘需求可以到「Go招聘」发布!
文章
在内存从分配到回收的生命周期中,内存不再被使用的时候,标准库会自动执行 Go 的内存管理。
2、再一次看到了 Go 的节制:int128 类型要不要支持?
克制还是很重要的。
使用是一定要注意安全。
4、Go Team Leader — rsc大神新开源了一个库,增强模板功能
说不定什么时候需要使用。
想过这个问题吗?
6、Uber 使用 Go 的规模这么大?!都自己定制的 Go 编译器了
大厂很强。
延迟函数( deferred functions )在所在函数返回前,以与声明相反的顺序立即被调用。
8、面试官:说说unsafe.Pointer和uintptr的区别和联系
unsafe 很强大,但一定要注意安全。
不知道大家在实际工作中有没有遇到过老版本 Go 调度器的坑:死循环导致程序“死机”。
一个 Go 编程的使用技巧:怎么把内存的结构体写入到磁盘?又怎么读出来?
Go语言的channel又两种类型,一种是无缓存的channel,一种是有缓存的buffer,这两种类型的channel大家都比较熟悉了。
12、Go 数组比切片好在哪?
你觉得呢?
开源项目
1、bloom
Bloom Filter 的 Go 语言实现。
2、eliasdb
图数据库。
3、secure
HTTP 安全中间件,包含很多安全策略。
4、codename
生成随机的、可发音的名字,像 docker 给容器起的默认名字那样。
5、bofied
一个网络启动服务器,支持PXE服务协议。
6、milvus
开源向量数据库搜索引擎。
一个开源的容器平台。
8、mk48
Go 实现的开源游戏项目。
使用 NATS 作为 http.RoundTripper 的实现。
资源&&工具
MangaDex 的终端客户端。
微软 Teams 的命令行终端 UI 工具。
3、dblab
支持与 PostgreSQL 和 MySQL 交互的终端命令行工具。
4、popeye
一个实时扫描 Kubernetes 集群并报告部署资源和配置的潜在问题的工具。
5、magia
Go 实现的 GBA 游戏模拟器。
6、ctop
像 top 那样的容器度量数据采集工具。
7、tz
时区辅助工具。
8、pingme
发送消息或警告到多个平台或邮箱,比如 slack、telegram 等。
订阅
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。